Skip to content

Commit 8c58b89

Browse files
committed
Prepare release assets for multi-arch GitHub releases
1 parent 99303a4 commit 8c58b89

5 files changed

Lines changed: 40 additions & 5 deletions

File tree

.github/workflows/release.yml

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,11 +191,41 @@ jobs:
191191
sha256sum * > "ro-control-${VERSION}-${RPM_ARCH}-SHA256SUMS.txt"
192192
)
193193
194+
- name: Create per-arch release bundle
195+
env:
196+
VERSION: ${{ needs.metadata.outputs.version }}
197+
RPM_ARCH: ${{ matrix.arch }}
198+
run: |
199+
mkdir -p dist/release
200+
201+
RPM_FILE="$(find dist/rpm -maxdepth 1 -type f -name "*.${RPM_ARCH}.rpm" | head -n1)"
202+
INFO_FILE="dist/rpm/ro-control-${VERSION}-${RPM_ARCH}-info.txt"
203+
REQUIRES_FILE="dist/rpm/ro-control-${VERSION}-${RPM_ARCH}-requires.txt"
204+
CHECKSUM_FILE="dist/rpm/ro-control-${VERSION}-${RPM_ARCH}-SHA256SUMS.txt"
205+
BUNDLE_DIR="dist/release/ro-control-${VERSION}-${RPM_ARCH}"
206+
BUNDLE_NAME="ro-control-${VERSION}-${RPM_ARCH}-fedora42.tar.gz"
207+
208+
if [[ -z "${RPM_FILE}" ]]; then
209+
echo "Failed to locate built ${RPM_ARCH} RPM for release bundling." >&2
210+
exit 1
211+
fi
212+
213+
mkdir -p "${BUNDLE_DIR}"
214+
cp "${RPM_FILE}" "${BUNDLE_DIR}/"
215+
cp "${INFO_FILE}" "${BUNDLE_DIR}/"
216+
cp "${REQUIRES_FILE}" "${BUNDLE_DIR}/"
217+
cp "${CHECKSUM_FILE}" "${BUNDLE_DIR}/"
218+
219+
tar -C dist/release -czf "dist/release/${BUNDLE_NAME}" "ro-control-${VERSION}-${RPM_ARCH}"
220+
rm -rf "${BUNDLE_DIR}"
221+
194222
- name: Upload RPM artifacts
195223
uses: actions/upload-artifact@v4
196224
with:
197225
name: ro-control-rpm-${{ matrix.arch }}-${{ needs.metadata.outputs.version }}
198-
path: dist/rpm/*
226+
path: |
227+
dist/rpm/*
228+
dist/release/*
199229
200230
release:
201231
name: Create GitHub Release
@@ -224,3 +254,4 @@ jobs:
224254
dist/*SHA256SUMS.txt
225255
dist/*-requires.txt
226256
dist/*-info.txt
257+
dist/*-fedora42.tar.gz

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ Additional PNG screenshots should be added before wider store distribution.
114114

115115
### RPM Package
116116

117-
Download the latest Fedora `.rpm` from [Releases](https://github.com/Project-Ro-ASD/ro-Control/releases) and choose the package that matches your machine architecture (`x86_64` or `aarch64`):
117+
Download the latest Fedora `.rpm` or the matching release bundle from [Releases](https://github.com/Project-Ro-ASD/ro-Control/releases), then choose the asset that matches your machine architecture (`x86_64` for 64-bit x86 systems or `aarch64` for ARM64 systems):
118118

119119
```bash
120120
sudo dnf install ./ro-control-*.rpm

README.tr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ Daha geniş mağaza / distro dağıtımı öncesinde PNG ekran görüntüleri ek
101101

102102
### RPM Paketi
103103

104-
[Releases](https://github.com/Project-Ro-ASD/ro-Control/releases) sayfasından sistem mimarinize (`x86_64` veya `aarch64`) uygun en güncel Fedora `.rpm` paketini indirin:
104+
[Releases](https://github.com/Project-Ro-ASD/ro-Control/releases) sayfasından sistem mimarinize uygun en güncel Fedora `.rpm` paketini veya release bundle dosyasını indirin (`x86_64` = 64-bit x86 sistemler, `aarch64` = ARM64 sistemler):
105105

106106
```bash
107107
sudo dnf install ./ro-control-*.rpm

docs/RELEASE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Use this checklist for every production release.
3636

3737
- [ ] Create annotated tag: `vX.Y.Z`.
3838
- [ ] Push tag to trigger release workflow.
39-
- [ ] Verify GitHub Release includes source archives, one `x86_64` RPM, one `aarch64` RPM, and one source RPM.
39+
- [ ] Verify GitHub Release includes source archives, one `x86_64` RPM, one `aarch64` RPM, per-arch release bundles, and one source RPM.
4040
- [ ] Verify the attached checksum and RPM metadata files are present.
4141

4242
## 6. Post-release

packaging/rpm/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,12 @@ The GitHub release workflow builds:
6060
- source archives (`.tar.gz`, `.zip`)
6161
- one Fedora binary RPM for `x86_64`
6262
- one Fedora binary RPM for `aarch64`
63+
- one Fedora release bundle for `x86_64`
64+
- one Fedora release bundle for `aarch64`
6365
- one source RPM
6466

6567
Each architecture job also performs a smoke install with `dnf install` and
6668
verifies that `ro-control --version` matches the tagged release version before
67-
publishing assets.
69+
publishing assets. Each release bundle contains the architecture-specific RPM,
70+
package metadata, dependency list, and checksum manifest for easier download
71+
from the GitHub Releases page.

0 commit comments

Comments
 (0)