No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Thorsten Spille cea627e278 Optional upgrade test from the previous version
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>
2026-10-14 23:52:27 +02:00
.forgejo/workflows Optional upgrade test from the previous version 2026-10-14 23:52:27 +02:00
nfpm-build nfpm-build/action.yml hinzugefügt 2026-10-14 19:07:44 +02:00
pulp-publish pulp-publish: Signing-Service per Secret statt Admin-Lookup 2026-10-14 23:12:23 +02:00
setup-distro setup-distro/action.yml hinzugefügt 2026-10-14 19:07:14 +02:00
README.md Optional upgrade test from the previous version 2026-10-14 23:52:27 +02:00

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"]'