Run in CI and fix monoprocess backend tests #982
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build & Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: 1.22 | |
| check-latest: true | |
| cache: true | |
| - name: Build | |
| run: go build -v ./... | |
| - name: Tests | |
| run: | | |
| go install github.com/jstemmer/go-junit-report/v2@latest | |
| go test -short -timeout 120s -race -count 1 -v ./... 2>&1 | go-junit-report -set-exit-code -iocopy -out "${{ github.workspace }}/report.xml" | |
| - name: Test Summary | |
| uses: test-summary/action@v2 | |
| with: | |
| paths: | | |
| ${{ github.workspace }}/report.xml | |
| if: always() | |
| test_redis: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Go | |
| uses: actions/setup-go@v3 | |
| with: | |
| go-version: 1.21 | |
| check-latest: true | |
| cache: true | |
| - name: Start Redis | |
| uses: shogo82148/actions-setup-redis@v1 | |
| with: | |
| auto-start: true | |
| redis-port: 6379 | |
| redis-version: "6.2" | |
| redis-conf: "requirepass RedisPassw0rd" | |
| - name: Tests | |
| run: | | |
| go install github.com/jstemmer/go-junit-report/v2@latest | |
| go test -timeout 120s -race -count 1 -v github.com/cschleiden/go-workflows/backend/redis 2>&1 | go-junit-report -set-exit-code -iocopy -out "${{ github.workspace }}/report.xml" | |
| - name: Test Summary | |
| uses: test-summary/action@v2 | |
| with: | |
| paths: | | |
| ${{ github.workspace }}/report.xml | |
| if: always() | |
| test_sqlite: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Go | |
| uses: actions/setup-go@v3 | |
| with: | |
| go-version: 1.21 | |
| check-latest: true | |
| cache: true | |
| - name: Install dependencies | |
| run: | | |
| go install github.com/jstemmer/go-junit-report/v2@latest | |
| - name: Tests (sqlite) | |
| run: | | |
| go test -timeout 120s -race -count 1 -v github.com/cschleiden/go-workflows/backend/sqlite 2>&1 | go-junit-report -set-exit-code -iocopy -out "${{ github.workspace }}/report.xml" | |
| - name: Tests (monoprocess backend) | |
| run: | | |
| go test -timeout 120s -race -count 1 -v github.com/cschleiden/go-workflows/backend/monoprocess 2>&1 | go-junit-report -set-exit-code -iocopy -out "${{ github.workspace }}/report.xml" | |
| - name: Test Summary | |
| uses: test-summary/action@v2 | |
| with: | |
| paths: | | |
| ${{ github.workspace }}/report.xml | |
| if: always() | |
| test_mysql: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Go | |
| uses: actions/setup-go@v3 | |
| with: | |
| go-version: 1.21 | |
| check-latest: true | |
| cache: true | |
| - name: Start MySQL | |
| run: sudo /etc/init.d/mysql start | |
| - name: Tests | |
| run: | | |
| go install github.com/jstemmer/go-junit-report/v2@latest | |
| go test -timeout 120s -race -count 1 -v github.com/cschleiden/go-workflows/backend/mysql 2>&1 | go-junit-report -set-exit-code -iocopy -out "${{ github.workspace }}/report.xml" | |
| - name: Test Summary | |
| uses: test-summary/action@v2 | |
| with: | |
| paths: | | |
| ${{ github.workspace }}/report.xml | |
| if: always() |