name: merge concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: push: branches: - 'v2' tags: - 'v*' workflow_dispatch: permissions: contents: read # to fetch code (actions/checkout) jobs: e2e: name: Build and test runs-on: ${{ matrix.os }} timeout-minutes: 15 strategy: fail-fast: false matrix: os: [desktop-windows, desktop-macos, desktop-m1] # mode: [plugin, standalone] mode: [plugin] env: GO111MODULE: "on" steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version-file: go.mod cache: true check-latest: true - name: List Docker resources on machine run: | docker ps --all docker volume ls docker network ls docker image ls - name: Remove Docker resources on machine continue-on-error: true run: | docker kill $(docker ps -q) docker rm -f $(docker ps -aq) docker volume rm -f $(docker volume ls -q) docker ps --all - name: Unit tests run: make test - name: Build binaries run: | make - name: Check arch of go compose binary run: | file ./bin/build/docker-compose if: ${{ !contains(matrix.os, 'desktop-windows') }} - name: Test plugin mode if: ${{ matrix.mode == 'plugin' }} run: | make e2e-compose - name: Test standalone mode if: ${{ matrix.mode == 'standalone' }} run: | make e2e-compose-standalone