Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ on:
pull_request:
branches: [main, next, 'release/v2']

env:
# Pinned so a blocking API gate is reproducible. Matches the golang.org/x/exp
# pseudo-version already in go.mod; bump both together.
GORELEASE_VERSION: v0.0.0-20251113190631-e25ba8c21ef6

jobs:
ci:
name: Lint & Test
Expand All @@ -32,11 +37,20 @@ jobs:
run: nix develop --command go vet -tags='example integration argo' ./...

- name: API compatibility check
# Breaking API changes are intended on `next` (v3 line) — informational there.
if: github.ref_name != 'next' && github.base_ref != 'next'
run: nix develop --command go run golang.org/x/exp/cmd/gorelease@latest
# Breaking API changes are intended on the v3 line, so this gate is
# informational wherever `next` is involved and blocking everywhere else:
# - ref_name == 'next' : pushes to next
# - base_ref == 'next' : PRs targeting next
# - head_ref == 'next' : the next -> main v3 release PR. Without this
# clause base_ref is 'main' and the blocking gate fires on the whole
# intended v3 break set, making the release PR unmergeable.
if: github.ref_name != 'next' && github.base_ref != 'next' && github.head_ref != 'next'
run: nix develop --command go run golang.org/x/exp/cmd/gorelease@${{ env.GORELEASE_VERSION }}

- name: API compatibility report (informational on next)
if: github.ref_name == 'next' || github.base_ref == 'next'
if: github.ref_name == 'next' || github.base_ref == 'next' || github.head_ref == 'next'
# gorelease reports "no baseline version" until the first non-prerelease
# /v3 tag exists on main; that is expected for the v3 release PR and is
# why this run must not gate the merge.
continue-on-error: true
run: nix develop --command go run golang.org/x/exp/cmd/gorelease@latest
run: nix develop --command go run golang.org/x/exp/cmd/gorelease@${{ env.GORELEASE_VERSION }}
2 changes: 1 addition & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# golangci-lint configuration for github.com/jasoet/pkg/v2
# golangci-lint configuration for github.com/jasoet/pkg/v3
# Go utility library with focus on reliability, security, and performance

version: "2"
Expand Down
Loading