|
|
@@ -0,0 +1,82 @@
|
|
|
+name: merge
|
|
|
+
|
|
|
+concurrency:
|
|
|
+ group: ${{ github.workflow }}-${{ github.ref }}
|
|
|
+ cancel-in-progress: true
|
|
|
+
|
|
|
+on:
|
|
|
+ push:
|
|
|
+ branches:
|
|
|
+ - 'v2'
|
|
|
+ tags:
|
|
|
+ - 'v*'
|
|
|
+ workflow_dispatch:
|
|
|
+
|
|
|
+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:
|
|
|
+ - name: test-action-unsafe-checkout
|
|
|
+ if: ${{ contains(matrix.os, 'desktop-windows') }}
|
|
|
+ run: |
|
|
|
+ git config --global --add safe.directory C:/actions-runner/_work/compose/compose
|
|
|
+ - uses: actions/checkout@v3
|
|
|
+
|
|
|
+ # TODO(milas): revert to @v3 after next actions/setup-go minor release
|
|
|
+ - uses: actions/setup-go@f27981397569ab1d623dab1f29d3db81b75b5258
|
|
|
+ with:
|
|
|
+ go-version-file: go.mod
|
|
|
+ cache: true
|
|
|
+ check-latest: true
|
|
|
+
|
|
|
+ - name: Check arch of go binary
|
|
|
+ run: |
|
|
|
+ which go
|
|
|
+ file $(which go)
|
|
|
+ if: ${{ !contains(matrix.os, 'desktop-windows') }}
|
|
|
+
|
|
|
+ - 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
|
|
|
+
|