name: Continuous integration on: push: branches: - test_optional_ci pull_request: jobs: check-optional-tests: name: Check if needs to run ACI or Windows tests runs-on: ubuntu-latest outputs: trigger-aci: ${{steps.runacitest.outputs.triggered}} trigger-windows: ${{steps.runwindowstest.outputs.triggered}} steps: - run: echo ${{github.ref}} - run: echo ${{github.event_name}} - uses: khan/pull-request-comment-trigger@master name: Check if test ACI if: github.event_name == 'pull_request' id: runacitest with: trigger: '@test-aci' - run: echo ${{steps.runacitest.outputs.triggered}} - uses: khan/pull-request-comment-trigger@master name: Check if test Windows if: github.event_name == 'pull_request' id: runwindowstest with: trigger: '@test-windows' - run: echo ${{steps.runwindowstest.outputs.triggered}} build: name: ACI e2e tests runs-on: ubuntu-latest env: GO111MODULE: "on" needs: check-optional-tests if: github.ref == 'refs/heads/test_optional_ci' || needs.check-optional-tests.outputs.trigger-aci == 'true' steps: - name: Set up Go 1.14 uses: actions/setup-go@v1 with: go-version: 1.14 id: go - name: Checkout code into the Go module directory uses: actions/checkout@v2 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: go-${{ hashFiles('**/go.sum') }} - name: Build for ACI e2e tests run: make -f builder.Makefile cli - name: ACI e2e Test env: AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} run: make e2e-aci windows-build: name: Windows Build runs-on: windows-latest env: GO111MODULE: "on" needs: check-optional-tests if: github.ref == 'refs/heads/test_optional_ci' || needs.check-optional-tests.outputs.trigger-windows == 'true' steps: - name: Set up Go 1.14 uses: actions/setup-go@v1 with: go-version: 1.14 id: go - name: Checkout code into the Go module directory uses: actions/checkout@v2 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: go-${{ hashFiles('**/go.sum') }} - name: Test env: BUILD_TAGS: example,local run: make -f builder.Makefile test - name: Build env: BUILD_TAGS: example,local run: make -f builder.Makefile cli - name: E2E Test run: make e2e-win-ci - name: ACI e2e Test env: AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} run: make e2e-aci