name: Continuous integration on: push: branches: - main 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-ecs: ${{steps.runecstest.outputs.triggered}} trigger-windows: ${{steps.runwindowstest.outputs.triggered}} steps: - uses: khan/pull-request-comment-trigger@master name: Check if test ACI if: github.event_name == 'pull_request' id: runacitest with: trigger: '/test-aci' - uses: khan/pull-request-comment-trigger@master name: Check if test Windows if: github.event_name == 'pull_request' id: runwindowstest with: trigger: '/test-windows' - uses: khan/pull-request-comment-trigger@master name: Check if test ECS if: github.event_name == 'pull_request' id: runecstest with: trigger: '/test-ecs' aci-tests: name: ACI e2e tests runs-on: ubuntu-latest env: GO111MODULE: "on" needs: check-optional-tests if: github.ref == 'refs/heads/main' || needs.check-optional-tests.outputs.trigger-aci == 'true' steps: - name: Set up Go 1.15 uses: actions/setup-go@v1 with: go-version: 1.15 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 ecs-tests: name: ECS e2e tests runs-on: ubuntu-latest env: GO111MODULE: "on" needs: check-optional-tests if: github.ref == 'refs/heads/main' || needs.check-optional-tests.outputs.trigger-ecs == 'true' steps: - name: Set up Go 1.15 uses: actions/setup-go@v1 with: go-version: 1.15 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 ECS e2e tests run: make -f builder.Makefile cli - name: create aws config folder run: mkdir -p ~/.aws - name: ECS e2e Test env: AWS_DEFAULT_REGION: us-west-2 AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }} run: make e2e-ecs windows-build: name: Windows Build runs-on: windows-latest env: GO111MODULE: "on" needs: check-optional-tests if: github.ref == 'refs/heads/main' || needs.check-optional-tests.outputs.trigger-windows == 'true' steps: - name: Set up Go 1.15 uses: actions/setup-go@v1 with: go-version: 1.15 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