diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 2a1ef17..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Release -# Cut a semver release: tags vX.Y.Z, moves the floating vX tag to the same commit and publishes a -# GitHub Release with generated notes. The logic lives in ci-workflows. Dispatch from main. - -on: - workflow_dispatch: - inputs: - bump: - description: 'Which part of the version to increment' - type: choice - options: [patch, minor, major] - default: patch - -permissions: - contents: write - -jobs: - release: - uses: Duatic/ci-workflows/.github/workflows/release.yml@v1 - with: - bump: ${{ inputs.bump }} diff --git a/.github/workflows/self-release.yml b/.github/workflows/self-release.yml new file mode 100644 index 0000000..ffca79d --- /dev/null +++ b/.github/workflows/self-release.yml @@ -0,0 +1,33 @@ +name: Self-release +# Releases this repository through the ci-workflows changelog release workflows: a dispatch opens +# the release pull request, and its merge tags v and moves v. + +on: + workflow_dispatch: + inputs: + bump: + description: 'Override the bump derived from the commits' + type: choice + options: [derived, major, minor, patch] + default: derived + runner: + description: 'Runner label(s) to run the job on, e.g. "ubuntu-latest" or "self-hosted".' + default: 'ubuntu-latest' + type: string + pull_request: + types: [closed] + +jobs: + prepare: + if: github.event_name == 'workflow_dispatch' + uses: Duatic/ci-workflows/.github/workflows/reusable_prepare_changelog_release.yml@v1 + with: + bump: ${{ inputs.bump }} + runner: ${{ inputs.runner }} + secrets: inherit + + tag: + if: github.event_name == 'pull_request' && github.event.pull_request.merged + permissions: + contents: write + uses: Duatic/ci-workflows/.github/workflows/reusable_changelog_release_tag.yml@v1 diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 0000000..ad89189 --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,64 @@ +^^^^^^^^^ +Changelog +^^^^^^^^^ + +1.8.0 (2026-10-27) +------------------ +* fix(archive): keep each delivery in its channel, one writer at a time (#25) + +1.7.0 (2026-10-27) +------------------ +* feat(archive)!: stable, edge and nightly channels, kept apart (#24) + +1.6.0 (2026-10-22) +------------------ +* feat(archive): publish every ROS distro, each Ubuntu release in its own suite (#23) + +1.5.0 (2026-10-22) +------------------ +* feat(builder): build humble packages on jammy (#22) + +1.4.0 (2026-10-21) +------------------ +* No changes. + +1.3.0 (2026-10-21) +------------------ +* feat(packaging): publish a package's source beside it when it declares so (#21) +* fix(builder): record the source commit and keep a root package's changelog (#20) + +1.2.0 (2026-10-18) +------------------ +* feat(packaging)!: refuse open packages that depend on gated ones (#19) + +1.1.0 (2026-10-14) +------------------ +* feat(pre-commit): enforce LF line endings and space indentation (#17) +* feat(pre-commit): bump actionlint to v1.7.12 for schedule timezones (#18) + +1.0.3 (2026-10-05) +------------------ +* fix(packaging): publish signed archives with a real archive key (#16) +* ci: add title-check to pull request validation (#15) + +1.0.2 (2026-09-11) +------------------ +* fix: set debian frontend to non interactive (#14) + +1.0.1 (2026-09-08) +------------------ +* fix: derive Ubuntu version from ROS distro (#12) + +1.0.0 (2026-09-03) +------------------ +* ci: add release workflow for the repo (#11) +* chore: tidy up repo before public release (#10) +* chore: adapt scripts to support upcoming changes in changelogs (#9) +* ci: check the tooling on the paths each job covers (#8) +* test(packaging): add fixtures, probes and install checks (#7) +* feat(packaging): publish one signed apt archive root per entitlement (#6) +* feat(packaging): derive a release set and build it in dependency order (#5) +* feat(packaging): build a ROS package into a signed deb (#4) +* feat(release): check a pull request is consistent about its release (#2) +* chore: initialize README and .gitignore for the repo (#1) +* Initial commit