Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ongoing discussion in #343.
This PR replaces the existing "hands-on" release automation for ungoogled-chromium's Debian package with one that is driven by Debian's own
chromium
package, in a fully automated process (save for rare breakage).The core of it is the new
release.yml
file, which covers the entire release cycle. It checks for newchromium
source packages in Debian and downloads them (get-latest.sh
), converts them into correspondingungoogled-chromium
source packages (convert.sh
), and uploads them to OBS for building and distribution (obs-upload.sh
). If no new source packages are available, then the superfluous parts of the process are skipped.There is also a separate script (
remote-check.sh
) intended to run outside of GitHub, on a home or office PC, that watches for new versions. It is much lighter weight than the GitHub workflow, and allows the release process to be triggered by a Debian package release notification sent by e-mail. (Details of how to set this up may be found in the script's comment header.)This implementation supports multiple Debian releases simultaneously, at present
bookworm
(stable) andsid
(unstable). It should be expandable to cover other Debian derivatives, provided that a compatiblechromium
source package is available as a starting point. (Ubuntu is a special case, as no such package is provided officially, but I have a conversion script that can be used to obtain one.)The workflow requires the following vars/secrets to be defined:
DEBFULLNAME
DEBEMAIL
OBS_PROJECT
OSC_USERNAME
OSC_PASSWORD
The
dpkg-source-build.patch
file is an enhancement that greatly reduces the time (and disk I/O) needed to produce the new Debian source package. It is a modification todpkg-source(1)
that I hope will be eventually merged upstream. More details may be found in the patch's comment header.You can see a run log of this automation here, and the end products in my personal testing area on OBS.
Please let me know if any aspect of how this works is unclear. This implementation obviously covers a lot of ground, and GitHub's limitations as a CI platform did not help in keeping this simple!