name: e2e on: pull_request: push: branches: - main permissions: contents: read # for actions/checkout to fetch code jobs: kind-linux-amd64: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Go uses: actions/setup-go@v2 with: go-version: 1.17.x - name: Restore Go cache uses: actions/cache@v1 with: path: /home/runner/work/_temp/_github_home/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Verify run: make verify - name: Enable integration tests # Only run integration tests for main branch if: github.ref == 'refs/heads/main' run: | echo 'GO_TAGS=integration' >> $GITHUB_ENV - name: Run tests env: TEST_AZURE_ACCOUNT_NAME: ${{ secrets.TEST_AZURE_ACCOUNT_NAME }} TEST_AZURE_ACCOUNT_KEY: ${{ secrets.TEST_AZURE_ACCOUNT_KEY }} run: make test - name: Setup Kubernetes uses: engineerd/setup-kind@v0.5.0 with: version: v0.11.1 image: kindest/node:v1.21.1@sha256:69860bda5563ac81e3c0057d654b5253219618a22ec3a346306239bba8cfa1a6 - name: Setup Kustomize uses: fluxcd/pkg/actions/kustomize@main - name: Setup Helm uses: fluxcd/pkg/actions/helm@main - name: Run E2E tests env: CREATE_CLUSTER: false run: make e2e kind-linux-arm64: # Hosted on Equinix # Docs: https://github.com/fluxcd/flux2/tree/main/.github/runners runs-on: [self-hosted, Linux, ARM64, equinix] steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Go uses: actions/setup-go@v2 with: go-version: 1.17.x - name: Enable integration tests # Only run integration tests for main branch if: github.ref == 'refs/heads/main' run: | echo 'GO_TAGS=integration' >> $GITHUB_ENV - name: Run tests env: TEST_AZURE_ACCOUNT_NAME: ${{ secrets.TEST_AZURE_ACCOUNT_NAME }} TEST_AZURE_ACCOUNT_KEY: ${{ secrets.TEST_AZURE_ACCOUNT_KEY }} run: make test - name: Prepare id: prep run: | echo ::set-output name=CLUSTER::arm64-${GITHUB_SHA:0:7}-$(date +%s) echo ::set-output name=CONTEXT::kind-arm64-${GITHUB_SHA:0:7}-$(date +%s) - name: Setup Kubernetes Kind run: | kind create cluster --name ${{ steps.prep.outputs.CLUSTER }} --kubeconfig=/tmp/${{ steps.prep.outputs.CLUSTER }} - name: Run e2e tests env: KIND_CLUSTER_NAME: ${{ steps.prep.outputs.CLUSTER }} KUBECONFIG: /tmp/${{ steps.prep.outputs.CLUSTER }} CREATE_CLUSTER: false BUILD_PLATFORM: linux/arm64 MINIO_TAG: RELEASE.2020-09-17T04-49-20Z-arm64 run: make e2e - name: Cleanup if: always() run: | kind delete cluster --name ${{ steps.prep.outputs.CLUSTER }} rm /tmp/${{ steps.prep.outputs.CLUSTER }} # Runs 'make test' on macos-10.15 to assure development environment for # contributors using MacOS. darwin-amd64: runs-on: macos-10.15 steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Go uses: actions/setup-go@v2 with: go-version: 1.17.x - name: Restore Go cache uses: actions/cache@v1 with: path: /home/runner/work/_temp/_github_home/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Run tests run: make test