Skip to content

ci: restructure pipeline (develop/main model, VERSION-driven releases) - #39

Merged
iamr8 merged 1 commit into
developfrom
worktree-ci-refactor
Aug 7, 2026
Merged

ci: restructure pipeline (develop/main model, VERSION-driven releases)#39
iamr8 merged 1 commit into
developfrom
worktree-ci-refactor

Conversation

@iamr8

@iamr8 iamr8 commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Refactors the CI/CD pipeline toward the layout of R8.EntityFrameworkCore.AuditProvider, adapted from a NuGet-package repo to this AOT app.

Branch model

  • develop — integration branch; all PRs land here. Runs CI, security, license, CodeQL, InspectCode.
  • main — release branch; a release happens by merging developmain.

Versioning (no longer tag-driven)

  • release.yml reads the VERSION file and compares it against the highest published GitHub release.
  • Strictly newer → build AOT binaries, create vX.Y.Z tag (release anchor only) + publish release.
  • Lower or equal → run fails (bump VERSION in the release PR).
  • tag.yml deleted; no tag trigger anywhere.

Release pipeline shape

check → test → build (osx-arm64/osx-x64 matrix) → github-release. Tests run once (not per-RID); build legs only produce binaries. --self-contained / -p:Version dropped (AOT -r is self-contained; csproj reads VERSION).

Matched to reference

  • codeql.yml split out of security.yml with security-and-quality queries + .github/codeql/codeql-config.yml (ignores apps.Tests/**).
  • inspectcode.yml — ReSharper advisory SARIF.
  • concurrency groups on every workflow; checkout@v7 / setup-dotnet@v6; allowed-licenses.json.github/; dependabot target-branch: develop.

Kept (no reference equivalent)

sbom.yml, Trivy, dependency-check — retargeted only.

Notes / unverified

  • Not runnable locally: GH Actions schema/expression scoping, jb inspectcode apps.slnx (.slnx support is ReSharper-version-dependent; advisory, won't block releases), macos osx-x64 cross-publish on arm64 runner (parity with previous file).
  • Follow-up (out of band): set develop as default branch for PRs; enable branch protection on main.

🤖 Generated with Claude Code

… releases

- Adopt develop (integration) / main (release) branch model; retarget all
  workflow branch filters and dependabot to develop.
- Rewrite release.yml as check -> test -> build -> github-release: VERSION
  file is the source of truth, release fails if VERSION is not newer than the
  highest published release. Drop tag trigger and delete tag.yml.
- Split CodeQL into codeql.yml with a security-and-quality config; keep Trivy,
  dependency-check and SBOM.
- Add ReSharper InspectCode advisory workflow.
- Add concurrency groups, bump checkout@v7 / setup-dotnet@v6, move
  allowed-licenses.json into .github/.
- Update CLAUDE.md versioning docs for the new flow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@iamr8
iamr8 merged commit 2a23d93 into develop Aug 7, 2026
11 checks passed
@iamr8
iamr8 deleted the worktree-ci-refactor branch August 7, 2026 10:55
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