Next-Gen APT repo
- [ ] automatic cleanup of old versions
- we commit the output binaries to git in order to serve them with gh-pages
- thus, to cleanup old binaries and actually reduce the size of the git repo, we must rewrite git history
- run as periodic github actions on apt git repo?
- [x] rename
bullseyedistribution tostable- our releases are not specific to bullseye or even Debian - they work on Ubuntu and many other distributions too - and have no dependencies besides a fresh enough version of glibc
- thus, it makes more sense to
- [x] investigate having multiple distributions that are aliases for the
stablerepo, or just update all of them (I guess they'll all reference the same .deb file so no size increase) - [x] keep multiple old versions
- reprepro should support this (did it for NIPAP?!)
- so it becomes possible for user to select a particular version to install
- [x] add
aptipAPT repo withtipdistribution and push .deb for every tip release- [x] push from acton repo
- [x] keep all source .deb files & build APT repo in main -> gh-pages job from scratch for every build, so that we can easily remove source files and rebuilt entire repo
- removing some files in an existing apt repo and trying to rebase will just fail - have to rebuild apt repo from scratch!
- [ ] change distribution to
tipfor tip builds?- apt tip reprepro complains about wrong distribution since acton deb is built for stable but we are adding to repo with
tip -
--ignore=wrongdistributionfixes it, but maybe better to do it right?
- apt tip reprepro complains about wrong distribution since acton deb is built for stable but we are adding to repo with
I've replaced the apt.acton-lang.io git repo with a new one. It's almost identical, like I brought over the config etc but I did start over from scratch for the actual apt repository. This one now starts with 0.18.3. I renamed the main distribution codename to stable and added symlinks for bullseye, bookworm etc so we should now cover the common debian and ubuntu versions.
I've also configured reprepro to keep all versions of the packages. This requires a newer version of reprepro.
I figure we'll do tip releases in a separate repo, this way we can life cycle stuff much more easily.
0.18.4 and 0.18.5 are released and all available from the apt repo. So things work as they should.
Not sure what to do about tip releases.
In terms of retention I'm thinking we'll keep versioned releases forever or at least until some later point when we decide otherwise. Tip releases however will likely grow to be too voluminous rather quickly.
I think doing reprepro add and then rebasing is a recipe for disaster (git conflicts in deb repo internal files are very likely). Better approach is to git add raw changes file and deb file to main branch. Then create reprepro repo on every push from files in main branch and push resulting repo to gh-pages branch.