diff --git a/content/posts/vieter-0.3.0/index.md b/content/posts/vieter-0.3.0/index.md new file mode 100644 index 0000000..d6a76f4 --- /dev/null +++ b/content/posts/vieter-0.3.0/index.md @@ -0,0 +1,69 @@ +--- +title: "Announcing Vieter 0.3.0" +date: 2022-06-13 +--- + +When this post is live, Vieter 0.3.0 will have been released! This release +really does come with a lot of new features, including more reliable builds and +a new cron implementation! + +This release ended up taking me over two months, but I'm quite proud of it :) +It not only adds a lot of useful features, but also paves the way for a lot +more cool features down the road! + +## What is Vieter? + +Vieter consists of two independents parts, namely an implementation of an Arch +(Pacman) repository, & a build system to populate said repository. The goal is +to remove the need for an AUR helper & move all builds to a remote server. Not +only does this greatly reduce update times on lower-end systems, it also +prevents AUR packages from being built multiple times on different systems. + +The repository can also be used independently, providing a convenient server +for publishing Arch packages from CI builds for example. + +While I specifically mention Arch & the AUR, Vieter is compatible with any +Pacman-based distro & can build PKGBUILDs provided from any Git source. + +## What's changed? + +### New cron daemon + +Perhaps the most important feature in this release is the implementation of a +cron daemon. While 0.2.0 still relied on crond to periodically start builds, +0.3.0 can schedule builds completely independently. + +The daemon understands a subset of the cron expression syntax. The build +schedule can be either configured globally or on a per-repo basis. This allows +the user to fine-tune certain packages, e.g. if they want them to be updated +more regularly than all the rest. + +### More robust builds + +Often, a build would fail with exit code 8. This error indicates that makepkg +wasn't able to install all dependencies, caused by the builder image not being +up to date enough. Due to this, each build now runs `pacman -Syu` before +running the actual build. + +Builds can now also use dependencies that are part of the target repository. +This allows building packages with AUR dependencies, as long as all +dependencies are also being built for said repository. + +### Build logs + +The main server now stores the logs of each build, including the exit code. +This makes it a lot easier to debug why builds fail. + +### Improved documentation + +The [Vieter documentation](https://rustybever.be/docs/vieter/) has had a pretty +major re-write to get it up to date with this new release. Now there's also +[HTTP API docs](https://rustybever.be/docs/vieter/api/#introduction) & [man +pages](https://rustybever.be/man/vieter/vieter.1.html). + +## Interested? + +If you're interested in Vieter, considering joining +[#vieter:rustybever.be](https://matrix.to/#/#vieter:rustybever.be) on Matrix! +The source code can be found on my personal +[Gitea](https://git.rustybever.be/vieter/vieter).