name: bootstrap on: push: branches: [ main ] pull_request: branches: [ main ] jobs: github: runs-on: ubuntu-latest if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository steps: - name: Checkout uses: actions/checkout@v2 - name: Restore Go cache uses: actions/cache@v1 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Setup Go uses: actions/setup-go@v2 with: go-version: 1.16.x - name: Setup Kubernetes uses: engineerd/setup-kind@v0.5.0 - name: Set outputs id: vars run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - name: Build run: sudo go build -o ./bin/flux ./cmd/flux - name: bootstrap init run: | ./bin/flux bootstrap github --manifests ./manifests/install/ \ --owner=fluxcd-testing \ --repository=flux-test-${{ steps.vars.outputs.sha_short }} \ --branch=main \ --path=test-cluster env: GITHUB_TOKEN: ${{ secrets.GITPROVIDER_BOT_TOKEN }} - name: bootstrap no-op run: | ./bin/flux bootstrap github --manifests ./manifests/install/ \ --owner=fluxcd-testing \ --repository=flux-test-${{ steps.vars.outputs.sha_short }} \ --branch=main \ --path=test-cluster env: GITHUB_TOKEN: ${{ secrets.GITPROVIDER_BOT_TOKEN }} - name: uninstall run: | ./bin/flux uninstall -s --keep-namespace kubectl delete ns flux-system --timeout=10m --wait=true - name: bootstrap reinstall run: | ./bin/flux bootstrap github --manifests ./manifests/install/ \ --owner=fluxcd-testing \ --repository=flux-test-${{ steps.vars.outputs.sha_short }} \ --branch=main \ --path=test-cluster env: GITHUB_TOKEN: ${{ secrets.GITPROVIDER_BOT_TOKEN }} - name: delete repository run: | ./bin/flux bootstrap github --manifests ./manifests/install/ \ --owner=fluxcd-testing \ --repository=flux-test-${{ steps.vars.outputs.sha_short }} \ --branch=main \ --path=test-cluster \ --delete env: GITHUB_TOKEN: ${{ secrets.GITPROVIDER_BOT_TOKEN }} - name: Debug failure if: failure() run: | kubectl -n flux-system get all kubectl -n flux-system logs deploy/source-controller kubectl -n flux-system logs deploy/kustomize-controller