name: CI on: push: branches: [master, develop] pull_request: branches: [master] permissions: actions: read contents: read statuses: write jobs: Go: name: Go runs-on: ubuntu-latest env: SRC_DIR: src/github.com/${{ github.repository }} strategy: matrix: go: [ '1.18.x', '1.19.x' ] steps: - name: Set up Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go }} - name: Checkout uses: actions/checkout@v3 with: path: ${{env.SRC_DIR}} - name: Download dependencies working-directory: ${{env.SRC_DIR}} run: make deps - name: Download Verdana font working-directory: ${{env.SRC_DIR}} run: curl -L -o 'Verdana.ttf' 'https://github.com/matomo-org/travis-scripts/raw/master/fonts/Verdana.ttf' - name: Run tests working-directory: ${{env.SRC_DIR}} run: go test -v -covermode count -coverprofile cover.out ./... - name: Send coverage data uses: essentialkaos/goveralls-action@v1 env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: path: ${{env.SRC_DIR}} 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@v1 env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: parallel-finished: true Aligo: name: Aligo runs-on: ubuntu-latest needs: Go env: SRC_DIR: src/github.com/${{ github.repository }} steps: - name: Set up Go uses: actions/setup-go@v3 with: go-version: '1.17.x' id: go - name: Checkout uses: actions/checkout@v3 with: path: ${{env.SRC_DIR}} - name: Download dependencies working-directory: ${{env.SRC_DIR}} run: make deps - name: Check Golang sources with Aligo uses: essentialkaos/aligo-action@v1 with: path: ${{env.SRC_DIR}} files: ./...