Only poll work when there are slots to work on #979
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: 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/sqlite 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() |