name: CI on: push: branches: [master, develop] pull_request: branches: [master] workflow_dispatch: inputs: force_run: description: 'Force workflow run' required: true type: choice options: [yes, no] permissions: actions: read contents: read statuses: write concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: Go: name: Go runs-on: ubuntu-latest strategy: matrix: go: [ '1.18.x', '1.19.x', '1.20.x' ] steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: ${{ matrix.go }} - name: Download dependencies run: make deps - name: Download Verdana font run: curl -L -o 'Verdana.ttf' 'https://github.com/matomo-org/travis-scripts/raw/master/fonts/Verdana.ttf' - name: Run tests run: go test -v -covermode count -coverprofile cover.out ./... - name: Send coverage data uses: essentialkaos/goveralls-action@v2 env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: profile: cover.out parallel: true flag-name: linux-${{ matrix.go }} SendCoverage: name: Send Coverage runs-on: ubuntu-latest needs: Go steps: - name: Finish parallel tests uses: essentialkaos/goveralls-action@v2 env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: parallel-finished: true Aligo: name: Aligo runs-on: ubuntu-latest needs: Go steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: '1.19.x' - name: Download dependencies run: make deps - name: Check Golang sources with Aligo uses: essentialkaos/aligo-action@v2 with: files: ./...