- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
New input upgrade-test (default false). For deb targets the test job then purges the package, installs the previous version from the package sources set up by test-prepare, upgrades to the new build without a terminal and runs the smoke test again. It fails if the upgrade fails or dpkg asks about a configuration file; it is skipped if there is no older version in the package sources. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| .forgejo/workflows | ||
| nfpm-build | ||
| pulp-publish | ||
| setup-distro | ||
| README.md | ||
ci-tools
Gemeinsame CI-Bausteine für bashclub-Projekte.
Projekt einbinden
.forgejo/workflows/package.yml im Projekt:
on:
push: { branches: [main], tags: ['v*'] }
pull_request:
jobs:
package:
uses: bashclub/ci-tools/.forgejo/workflows/package.yml@v1
with:
smoke-test: "meinbefehl --help"
secrets: inherit
- Push auf
main→ Paket landet in testing - Tag
vX.Y.Z→ Paket landet in release - Pull Request → nur bauen und testen
Inputs: smoke-test (Pflicht), test-prepare, test-targets, deb-dists, rpm-targets, nfpm-config, formats, upgrade-test.
Update-Test
Mit upgrade-test: true testet jedes deb-Target nach der Neuinstallation zusätzlich das Update: Paket entfernen, Vorversion aus den
Paketquellen installieren (die test-prepare einrichtet, z. B. den release-Kanal), dann das neue Paket darüber installieren und den
smoke-test erneut ausführen. Der Test schlägt fehl, wenn dpkg dabei nachfragt (z. B. zu Konfigurationsdateien) oder das Update scheitert.
Gibt es noch keine ältere Version in den Paketquellen, wird er übersprungen.
Nur deb bauen
Für Projekte ohne RPM-Pakete formats: deb setzen und test-targets auf deb-Distributionen beschränken.
Ohne RPM-Dateien veröffentlicht pulp-publish auch nichts nach RPM.
with:
smoke-test: "meinbefehl --help"
formats: deb
test-targets: '["debian-12","debian-13","ubuntu-24.04"]'