Skip to content

chore: improve ci#1271

Merged
giortzisg merged 5 commits intomasterfrom
chore/improve-ci
Apr 20, 2026
Merged

chore: improve ci#1271
giortzisg merged 5 commits intomasterfrom
chore/improve-ci

Conversation

@giortzisg
Copy link
Copy Markdown
Contributor

@giortzisg giortzisg commented Apr 17, 2026

Description

This PR changes the ci pipeline to report codecov coverage only once, using the simplified makefile and also uses the native setup-go cache instead of a second dependency to improve ci speed.

Issues

Changelog Entry Instructions

To add a custom changelog entry, uncomment the section above. Supports:

  • Single entry: just write text
  • Multiple entries: use bullet points
  • Nested bullets: indent 4+ spaces

For more details: custom changelog entries

Reminders

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 17, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Breaking Changes 🛠

  • Update compatibility policy to align with Go, supporting only the last two major Go versions. by giortzisg in #1264
  • Drop support for Go 1.24 by giortzisg in #1264

Internal Changes 🔧

Deps

  • Bump github.com/labstack/echo/v5 from 5.0.0 to 5.0.3 in /echo by dependabot in #1253
  • Bump github.com/labstack/echo/v5 from 5.0.0 to 5.0.3 in /crosstest by dependabot in #1272
  • Bump golangci-lint action from 2.1.1 to 2.11.4 by giortzisg in #1265
  • Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 in /otel by dependabot in #1256
  • Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.40.0 to 1.43.0 in /otel/otlp by dependabot in #1255

Other

  • Improve ci by giortzisg in #1271
  • Add crosstest package by giortzisg in #1269
  • Add sentrytest package by giortzisg in #1267

🤖 This preview updates automatically when you update the PR.

@giortzisg giortzisg changed the title simplify makefile with go work chore: improve ci Apr 17, 2026
@giortzisg giortzisg marked this pull request as ready for review April 20, 2026 08:34
@giortzisg giortzisg requested a review from lcian April 20, 2026 08:34
run: make build
- name: Vet
run: make vet
- name: Test${{ env.RUN_RACE_TESTS == 'true' && ' (with race detection)' || '' }}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the test step implies make build?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should actually keep build, for the slim case that we conditionally build a package (eg. //go:buildl !test)

restore-keys: |
${{ runner.os }}-go-${{ matrix.go }}-
cache-dependency-path: '**/go.sum'
- name: Tidy
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The go test ... -coverprofile work command may fail when run against a workspace with multiple modules, potentially breaking the coverage reporting step in CI.
Severity: MEDIUM

Suggested Fix

To guarantee that coverage is generated correctly, modify the test script to iterate through each module listed in the go.work file. Run go test with the -coverprofile flag for each module individually, generating separate coverage files. Afterwards, use a tool or a script to merge these individual coverage files into a single profile before the upload step.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: .github/workflows/test.yml#L48

Potential issue: The CI workflow is configured to run `go test -coverprofile=... work`
to generate a unified code coverage report for a Go workspace containing 14 modules.
There is conflicting information on whether Go's tooling (specifically versions 1.25 and
1.26 used in the CI) supports the `-coverprofile` flag when testing multiple modules
simultaneously via the `work` keyword. If this operation is not supported, the test step
will fail for the `ubuntu` / `go 1.26` job, which is the only job responsible for
uploading coverage reports. This would cause the CI to either error out or silently fail
to produce coverage metrics.

Did we get this right? 👍 / 👎 to inform future reviews.

@giortzisg giortzisg merged commit aaef0ff into master Apr 20, 2026
16 checks passed
@giortzisg giortzisg deleted the chore/improve-ci branch April 20, 2026 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants