-
Notifications
You must be signed in to change notification settings - Fork 94
Home
Welcome to the provider-sql wiki!
provider-sql follows semantic versioning with a v prefix (e.g. v0.14.0).
Releases are published to:
-
Upbound Marketplace:
xpkg.upbound.io/crossplane-contrib/provider-sql -
GitHub Container Registry (GHCR): via the
publish-provider-package.ymlworkflow - GitHub Releases: manual release with changelog
Before starting a release, verify all of the following:
- All intended PRs are merged to
master - CI is green on
master— check Actions > CI (lint, unit tests, e2e tests, check-diff all pass) - No open issues or PRs tagged for this milestone/release
- Dependency updates (Dependabot PRs) are reviewed — merge or defer as appropriate
-
go.sumand generated code are up to date (make generateandmake modules.download modules.checkproduce no diff) - Examples in
examples/work with the current code (spot-check if significant changes were made) - New features are covered by unit or e2e tests
- Check what is not covered by dependabot: Go version, build submodule version
Check the latest tag:
git describe --tags --abbrev=0Decide the next version based on what changed since the last release:
git log $(git describe --tags --abbrev=0)..HEAD --onelineUse v-prefix. For pre-releases (e.g. v0.15.0-rc.0), it will not be visible in Unbound Marketplace.
Use the Tag GitHub Actions workflow:
- Go to Actions > Tag
- Click "Run workflow"
- Fill in:
-
Branch:
master -
version: the version string, e.g.
v0.15.0 -
message: a short tag message, e.g.
Release v0.15.0
-
Branch:
- Click "Run workflow"
If a tag has been created via git commands, that is fine too.
- Go to Releases > Draft a new release
-
Choose a tag: select the tag you just created (e.g.
v0.15.0) -
Release title:
v0.15.0 - Description: paste the changelog from Step 2
- For pre-releases (e.g.
v0.15.0-rc.0), check "Set as a pre-release" - Click "Publish release"
Review all commits since the last release:
git log $(git describe --tags --abbrev=0)..HEAD --onelineChangelog structure (follow the format from previous releases):
Brief summary of the release — highlight the most important changes and link to
relevant docs (e.g. marketplace page, examples directory).
## What's Changed
* Short description of feature/fix by @author in https://github.com/crossplane-contrib/provider-sql/pull/NNN
* Short description of feature/fix by @author in https://github.com/crossplane-contrib/provider-sql/pull/NNN
## Significant bumps
* chore: bump important-dependency from x.y.z to a.b.c by @dependabot[bot] in #NNN
## Build changes
* Description of CI/build changes by @author in #NNN
## Dependabot
* chore: bump minor-dependency from x.y.z to a.b.c by @dependabot[bot] in #NNN
## New Contributors
* @username made their first contribution in #NNN
**Full Changelog**: https://github.com/crossplane-contrib/provider-sql/compare/vOLD...vNEWTips for a good changelog:
- Lead with a 1-3 sentence summary of what's important in this release
- Group changes by category: features/fixes first, then significant dependency bumps (which is could change the behaviour of the code), then build changes, then routine Dependabot bumps
- Link to the marketplace page:
https://marketplace.upbound.io/providers/crossplane-contrib/provider-sql/vX.Y.Z - If there are breaking changes or migration steps, put them at the top in a dedicated section
GitHub can auto-generate a starting point:
Run the Publish Provider Package workflow to build and push the Crossplane package to GHCR (and mirror to XPKG):
- Go to Actions > Publish Provider Package
- Click "Run workflow"
- Fill in:
-
Branch:
master(or the tag/ref, e.g.v0.15.0) -
version: the version string, e.g.
v0.15.0(leave blank to auto-detect from git) -
go-version: leave as default (
1.24) unless you have a reason to change it
-
Branch:
- Click "Run workflow"
- Wait for the workflow to complete (~10 minutes)
What this does: Builds the Crossplane provider package (xpkg) and pushes it to:
ghcr.io/crossplane-contrib/provider-sql:v0.15.0-
xpkg.upbound.io/crossplane-contrib/provider-sql:v0.15.0(mirrored)
- GitHub Release is visible at https://github.com/crossplane-contrib/provider-sql/releases
- Package is available on the Upbound Marketplace
- Package is pullable:
crossplane xpkg install provider xpkg.upbound.io/crossplane-contrib/provider-sql:v0.15.0 - GHCR package is visible at https://github.com/crossplane-contrib/provider-sql/pkgs/container/provider-sql
For pre-releases (e.g. v0.15.0-rc.0):
- Follow the same steps above, but use a pre-release version string (e.g.
v0.15.0-rc.0) - When creating the GitHub Release, mark it as pre-release
- Pre-releases are useful for testing before a final release
If you need to release a patch on an older minor version:
- Create a release branch from the tag:
git checkout -b release-0.14 v0.14.0 - Cherry-pick the fix commits onto the release branch
- Push the release branch:
git push upstream release-0.14 - CI runs automatically on
release-*branches - Use the Tag workflow targeting the
release-0.14branch - Follow steps 3-4 above as normal
| What | Where |
|---|---|
| Tag workflow | Actions > Tag |
| CI workflow | Actions > CI |
| Publish workflow | Actions > Publish Provider Package |
| GitHub Releases | Releases |
| Upbound Marketplace | provider-sql |
| GHCR packages | Packages |
| Versioning | Semantic versioning with v prefix |