name: Coverage on: push: branches: [dev, main] pull_request: branches: [dev, main] workflow_dispatch: permissions: contents: read env: CORE_VERSION: dev jobs: coverage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v6 with: go-version-file: 'go.mod' - name: Install system dependencies run: | sudo apt-get update # Try 4.1 first (Ubuntu 22.04+), fall back to 4.0 (Ubuntu 20.04) sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev || \ sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev - name: Build core CLI run: | go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core . core --version - name: Generate code run: go generate ./internal/cmd/updater/... - name: Run coverage run: core go cov --output coverage.txt --threshold 40 --branch-threshold 35 - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} - name: Upload coverage report uses: actions/upload-artifact@v6 with: name: coverage-report path: coverage.txt