You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,8 +78,9 @@ Download them from https://dlib.net/files/ once, then store them in a shared loc
78
78
79
79
#### Automated releases
80
80
81
-
- Push a tag that matches `v<MAJOR>.<MINOR>.<PATCH>` (for example `git tag v0.3.0 && git push origin v0.3.0`).
82
-
- The `Release Debian Packages` workflow builds both Debian and Ubuntu `.deb` files via `build/package-deb.sh`, using the numeric portion of the tag as the package version.
81
+
- Push a tag that matches `v<MAJOR>.<MINOR>.<PATCH>` or `v<MAJOR>.<MINOR>.<PATCH>-<prerelease>` (for example `git tag v0.3.0 && git push origin v0.3.0` or `git tag v0.3.0-rc1 && git push origin v0.3.0-rc1`).
82
+
- The `Release Packages` workflow builds both Debian and Ubuntu `.deb` files via `build/package-deb.sh` and Fedora `.rpm` files via `build/package-rpm.sh`, using the tag without the leading `v` as the package version.
83
+
- For RPM prereleases, the generated artifact name keeps the original semver, but the spec normalizes it internally to `Version=<core>` and `Release=0.<release>.<prerelease>` so `rpmbuild` accepts RC tags and upgrade ordering remains correct.
83
84
- When the workflow finishes, GitHub Releases contains `chissu-pam_<version>_debian_amd64.deb`, `chissu-pam_<version>_ubuntu_amd64.deb`, and `chissu-pam_<version>_<distro>_x86_64.rpm` assets attached to that tag. Release notes are auto-generated; edit them manually if more detail is needed.
84
85
- If the workflow fails, fix the issue and click “Re-run jobs” for the tag; assets are replaced when uploads succeed.
Copy file name to clipboardExpand all lines: openspec/specs/packaging-rpm/spec.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,11 @@ The repository MUST ship a helper that produces RPM packages via the standard `r
12
12
-**AND** it renders a `.spec` file plus `%post`/`%postun` hooks, then invokes `rpmbuild -bb` so that an `.rpm` is emitted into `dist/` with the distro + architecture encoded in the filename (e.g., `chissu-pam-<version>.<distro>.x86_64.rpm`)
13
13
-**AND** runtime dependencies include `dlib`, `openblas`, `lapack`, `gtk3`, `libudev`, `curl`, and `bzip2`
Copy file name to clipboardExpand all lines: openspec/specs/release-automation/spec.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,10 @@
4
4
TBD - created by archiving change add-release-deb-workflow. Update Purpose after archive.
5
5
## Requirements
6
6
### Requirement: Tag-triggered Deb Packages
7
-
GitHub Actions MUST produce Debian-compatible packages whenever a semver tag is pushed.
7
+
GitHub Actions MUST produce Debian-compatible packages whenever a supported semver tag is pushed.
8
8
9
9
#### Scenario: Tag push builds packages
10
-
-**GIVEN** a tag named `v1.2.3` (pattern `v<major>.<minor>.<patch>`) is pushed to the repository
10
+
-**GIVEN** a tag named `v1.2.3`or `v1.2.3-rc1`(pattern `v<major>.<minor>.<patch>[-<prerelease>]`) is pushed to the repository
11
11
-**THEN** a workflow runs on `ubuntu-latest`, checks out the code, installs packaging dependencies (`debhelper`, `dpkg-dev`, `curl`, `bzip2`, etc.), ensures `CARGO_HOME="$(pwd)/.cargo-home"`, and invokes `build/package-deb.sh --distro debian` and `--distro ubuntu`
12
12
-**AND** the workflow archives the resulting `.deb` artifacts from `dist/`
13
13
@@ -25,14 +25,15 @@ Maintainers MUST have documentation explaining how to trigger and verify the aut
25
25
26
26
#### Scenario: README describes tagging flow
27
27
-**WHEN** a maintainer reads the release section
28
-
-**THEN** they learn to push a `v<MAJOR>.<MINOR>.<PATCH>` tag, wait for the workflow, and confirm `.deb` assets on GitHub Releases, including notes about required permissions and how to re-run a failed job.
28
+
-**THEN** they learn to push a `v<MAJOR>.<MINOR>.<PATCH>`or `v<MAJOR>.<MINOR>.<PATCH>-<prerelease>`tag, wait for the workflow, and confirm `.deb`/`.rpm` assets on GitHub Releases, including notes about required permissions and how to re-run a failed job.
29
29
30
30
### Requirement: Tag-triggered RPM Packages
31
-
The GitHub Actions release workflow MUST produce RPM artifacts whenever a `v<MAJOR>.<MINOR>.<PATCH>` tag is pushed.
31
+
The GitHub Actions release workflow MUST produce RPM artifacts whenever a supported semver tag is pushed.
32
32
33
33
#### Scenario: Tag push builds RPMs
34
-
-**WHEN** the release workflow runs for tag `v1.2.3`
34
+
-**WHEN** the release workflow runs for tag `v1.2.3` or `v1.2.3-rc1`
35
35
-**THEN** it installs the necessary RPM tooling (`rpm-build`, `createrepo_c`, etc.) and executes `build/package-rpm.sh` for each supported distro, storing the resulting `.rpm` files under `dist/`
36
+
-**AND** prerelease tags are normalized for RPM metadata by storing the core semver in `Version` and moving the prerelease label into `Release`
36
37
-**AND** failures building the RPM cause the workflow to fail so releases are never missing RPM assets silently
37
38
38
39
### Requirement: RPM Release Assets
@@ -42,4 +43,3 @@ GitHub Releases MUST include the RPM artifacts beside the `.deb` files.
42
43
-**WHEN** the workflow publishes assets for tag `v1.2.3`
43
44
-**THEN** it uploads each generated `.rpm` file (e.g., `chissu-pam-1.2.3.fedora.x86_64.rpm`) to the tag’s GitHub Release via the same step that publishes `.deb` files
44
45
-**AND** the workflow surfaces an error if any `.rpm` upload fails so maintainers can rerun the job
0 commit comments