2022-01-27 22:14:08 +01:00
|
|
|
# Changelog
|
|
|
|
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [Unreleased](https://git.rustybever.be/vieter-v/vieter/src/branch/dev)
|
2022-05-07 22:13:35 +02:00
|
|
|
|
2022-12-31 16:10:47 +01:00
|
|
|
### Added
|
|
|
|
|
2022-12-28 17:39:45 +01:00
|
|
|
* Metrics endpoint for Prometheus integration
|
2022-12-31 16:10:47 +01:00
|
|
|
* Search in list of targets using API & CLI
|
2023-01-02 16:38:43 +01:00
|
|
|
* Allow filtering targets by arch value
|
2023-05-04 09:36:03 +02:00
|
|
|
* Configurable global timeout for builds
|
2022-12-28 17:39:45 +01:00
|
|
|
|
2023-01-12 12:26:12 +01:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Rewrote cron expression logic in C
|
2023-02-19 15:54:31 +01:00
|
|
|
* Updated codebase to V commit after 0.3.3
|
2023-05-04 09:36:03 +02:00
|
|
|
* Agents now use worker threads and no longer spawn a new thread for every
|
|
|
|
build
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Package upload now fails if TCP connection is closed before all bytes have
|
|
|
|
been received
|
2023-01-12 12:26:12 +01:00
|
|
|
|
2023-01-28 14:53:31 +01:00
|
|
|
### Removed
|
|
|
|
|
|
|
|
* Deprecated cron daemon
|
|
|
|
|
2022-12-29 15:49:59 +01:00
|
|
|
## [0.5.0](https://git.rustybever.be/vieter-v/vieter/src/tag/0.5.0)
|
|
|
|
|
2022-12-28 21:52:16 +01:00
|
|
|
### Added
|
|
|
|
|
|
|
|
* CLI commands for removing packages, arch-repos & repositories
|
|
|
|
|
2022-12-21 23:45:42 +01:00
|
|
|
## [0.5.0-rc.2](https://git.rustybever.be/vieter-v/vieter/src/tag/0.5.0-rc.2)
|
|
|
|
|
2022-12-21 23:42:15 +01:00
|
|
|
### Added
|
|
|
|
|
|
|
|
* API route for removing logs & accompanying CLI command
|
|
|
|
* Daemon for periodically removing old logs
|
2022-12-23 08:18:49 +01:00
|
|
|
* CLI flag to filter logs by specific exit codes
|
2022-12-21 23:42:15 +01:00
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Use `--long-option` instead of `-long-option` for CLI
|
|
|
|
|
2022-12-17 14:00:51 +01:00
|
|
|
## [0.5.0-rc.1](https://git.rustybever.be/vieter-v/vieter/src/tag/0.5.0-rc.1)
|
|
|
|
|
2022-12-16 16:35:40 +01:00
|
|
|
### Added
|
2022-11-02 18:38:02 +01:00
|
|
|
|
2022-12-16 16:35:40 +01:00
|
|
|
* Allow specifying subdirectory inside Git repository
|
2022-12-13 18:24:21 +01:00
|
|
|
* Added option to deploy using agent-server architecture instead of cron daemon
|
2022-12-14 16:03:57 +01:00
|
|
|
* Allow scheduling builds on the server from the CLI tool instead of building
|
|
|
|
them locally
|
2022-12-16 16:35:40 +01:00
|
|
|
* Allow force-building packages, meaning the build won't check if the
|
|
|
|
repository is already up to date
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Migrated codebase to V 0.3.2
|
|
|
|
* Cron expression parser now uses bitfields instead of bool arrays
|
2022-11-02 18:38:02 +01:00
|
|
|
|
2022-11-07 21:40:59 +01:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Arch value for target is now properly set if not provided
|
|
|
|
* Allow NULL values for branch in database
|
2022-12-13 18:24:21 +01:00
|
|
|
* Endpoint for adding targets now returns the correct id
|
2022-12-16 16:35:40 +01:00
|
|
|
* CLI now correctly errors and doesn't error when sending requests
|
|
|
|
* Fixed possible infinite loop when removing old build images
|
|
|
|
* Check whether build image still exists before starting build
|
|
|
|
* Don't run makepkg `prepare()` function twice
|
|
|
|
* Don't buffer stdout in Docker containers
|
2022-11-07 21:40:59 +01:00
|
|
|
|
2022-10-01 17:04:56 +02:00
|
|
|
## [0.4.0](https://git.rustybever.be/vieter-v/vieter/src/tag/0.4.0)
|
|
|
|
|
2022-06-15 12:10:58 +02:00
|
|
|
### Added
|
|
|
|
|
|
|
|
* Server port can now be configured
|
2022-06-17 14:52:59 +02:00
|
|
|
* Targets now have a 'kind' field describing whether it's a Git repository or a
|
|
|
|
URL to a PKGBUILD
|
|
|
|
* Targets with kind 'url' can provide a direct URL to a PKGBUILD instead of
|
|
|
|
providing a Git repository
|
2022-06-22 16:38:53 +02:00
|
|
|
* CLI commands for searching the AUR & directly adding packages
|
2022-08-11 19:44:22 +02:00
|
|
|
* HTTP routes for removing packages, arch-repos & repos
|
2022-08-13 17:49:05 +02:00
|
|
|
* All endpoints serving files now support HTTP byte range requests
|
2022-10-01 16:21:49 +02:00
|
|
|
* Better CLI UX
|
|
|
|
* When adding targets, the ID of the created target is returned
|
|
|
|
* The `-r` flag only shows raw data of action
|
|
|
|
* When adding a target, only ID is shown and not surrounding text
|
|
|
|
* Tabled output returns a tab-separated list (easy to script using
|
|
|
|
`cut`)
|
2022-06-15 12:10:58 +02:00
|
|
|
|
2022-06-14 12:54:32 +02:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Moved all API routes under `/v1` namespace
|
2022-06-15 12:10:58 +02:00
|
|
|
* Renamed `vieter repos` to `vieter targets`
|
2022-06-16 17:38:41 +02:00
|
|
|
* Renamed `/api/v1/repos` namespace to `/api/v1/targets`
|
2022-06-17 14:52:59 +02:00
|
|
|
* Branch name for 'git' targets is now optional; if not provided, the
|
|
|
|
repository will be cloned with the default branch
|
2022-06-17 20:19:15 +02:00
|
|
|
* Build containers now explicitely set the PATH variable
|
2022-08-13 17:49:05 +02:00
|
|
|
* Refactor of web framework
|
2022-09-11 20:34:02 +02:00
|
|
|
* API endpoints now return id of newly created entries
|
2022-09-11 21:24:29 +02:00
|
|
|
* Repo POST requests now return information on published package
|
2022-10-01 16:35:43 +02:00
|
|
|
* `api` can no longer be used as a repository name
|
|
|
|
* CLI client now allows setting values to an empty value
|
2022-06-14 12:54:32 +02:00
|
|
|
|
2022-06-15 22:15:11 +02:00
|
|
|
### Removed
|
|
|
|
|
|
|
|
* md5 hashes are no longer calculated for packages
|
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [0.3.0](https://git.rustybever.be/vieter-v/vieter/src/tag/0.3.0)
|
2022-06-13 21:32:35 +02:00
|
|
|
|
|
|
|
Nothing besides bumping the versions.
|
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [0.3.0-rc.1](https://git.rustybever.be/vieter-v/vieter/src/tag/0.3.0-rc.1)
|
2022-06-10 15:09:55 +02:00
|
|
|
|
2022-05-24 22:48:17 +02:00
|
|
|
### Added
|
|
|
|
|
|
|
|
* Database migrations
|
2022-05-29 22:16:39 +02:00
|
|
|
* Improved GitRepo & BuildLog API
|
|
|
|
* Pagination using `limit` & `offset` query params
|
|
|
|
* GitRepo: filter by repo
|
|
|
|
* BuildLog: filter by start & end date, repo, exit code & arch
|
|
|
|
* CLI flags to take advantage of above API improvements
|
2022-06-01 13:59:52 +02:00
|
|
|
* Added CLI command to generate all man pages
|
|
|
|
* PKGBUILDs now install man pages
|
2022-06-04 12:18:30 +02:00
|
|
|
* Hosted CLI man pages ([vieter(1)](https://rustybever.be/man/vieter/vieter.1.html))
|
|
|
|
* Proper HTTP API docs ([link](https://rustybever.be/docs/vieter/api/))
|
2022-05-24 22:48:17 +02:00
|
|
|
|
2022-06-01 20:34:36 +02:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Packages from target repo are available during builds
|
|
|
|
* This can be used as a basic way to support AUR dependencies, by adding
|
|
|
|
the dependencies to the same repository
|
|
|
|
* Every build now updates its packages first instead of solely relying on the
|
|
|
|
updated builder image
|
|
|
|
* Build logs now show commands being executed
|
|
|
|
|
2022-06-10 08:39:10 +02:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* `POST /api/logs` now correctly uses epoch timestamps instead of strings
|
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [0.3.0-alpha.2](https://git.rustybever.be/vieter-v/vieter/src/tag/0.3.0-alpha.2)
|
2022-05-16 17:34:51 +02:00
|
|
|
|
2022-05-07 22:13:35 +02:00
|
|
|
### Added
|
|
|
|
|
|
|
|
* Web API for adding & querying build logs
|
|
|
|
* CLI commands to access build logs API
|
2022-05-10 13:43:09 +02:00
|
|
|
* Cron build logs are uploaded to above API
|
2022-05-16 13:03:44 +02:00
|
|
|
* Proper ASCII table output in CLI
|
2022-05-16 17:12:37 +02:00
|
|
|
* `vieter repos build id` command to run builds locally
|
|
|
|
|
|
|
|
### Removed
|
|
|
|
|
|
|
|
* `vieter build` command
|
|
|
|
* This command was used alongside cron for periodic builds, but this has
|
|
|
|
been replaced by `vieter cron`
|
2022-05-10 13:43:09 +02:00
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
2022-05-10 19:30:26 +02:00
|
|
|
* `vieter build` command now only builds a single repository & uploads the
|
2022-05-10 13:43:09 +02:00
|
|
|
build logs
|
2022-05-10 19:30:26 +02:00
|
|
|
* Official Arch packages are now split between `vieter` & `vieter-git`
|
|
|
|
* `vieter` is the latest release
|
|
|
|
* `vieter-git` is the latest commit on the dev branch
|
2022-05-16 13:03:44 +02:00
|
|
|
* Full refactor of Docker socket code
|
2022-05-07 22:13:35 +02:00
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [0.3.0-alpha.1](https://git.rustybever.be/vieter-v/vieter/src/tag/0.3.0-alpha.1)
|
2022-01-27 22:14:08 +01:00
|
|
|
|
2022-05-01 15:25:21 +02:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Switched from compiler fork to fully vanilla compiler mirror
|
2022-05-03 19:55:52 +02:00
|
|
|
* `download_dir`, `repos_file` & `repos_dir` config values have been replaced
|
|
|
|
with `data_dir`
|
|
|
|
* Storage of metadata (e.g. Git repositories) is now done using Sqlite
|
2022-05-01 15:25:21 +02:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
* Implemented own cron daemon for builder
|
|
|
|
* Build schedule can be configured globally or individually per repository
|
|
|
|
* Added CLI command to show detailed information per repo
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Binary no longer panics when an env var is missing
|
2022-04-15 10:59:05 +02:00
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [0.2.0](https://git.rustybever.be/vieter-v/vieter/src/tag/0.2.0)
|
2022-04-09 22:41:38 +02:00
|
|
|
|
|
|
|
### Changed
|
2022-02-22 20:46:28 +01:00
|
|
|
|
2022-04-07 12:22:41 +02:00
|
|
|
* Better config system
|
|
|
|
* Support for both a config file & environment variables
|
2022-02-22 20:46:28 +01:00
|
|
|
* Each env var can now be provided from a file by appending it with `_FILE`
|
|
|
|
& passing the path to the file as value
|
2022-04-01 21:33:55 +02:00
|
|
|
* Revamped web framework
|
|
|
|
* All routes now return proper JSON where applicable & the correct status
|
|
|
|
codes
|
2022-02-22 20:46:28 +01:00
|
|
|
|
2022-04-09 22:41:38 +02:00
|
|
|
### Added
|
2022-02-21 17:18:14 +01:00
|
|
|
|
|
|
|
* Very basic build system
|
|
|
|
* Build is triggered by separate cron container
|
|
|
|
* Packages build on cron container's system
|
2022-03-27 18:22:30 +02:00
|
|
|
* A HEAD request is used to determine whether a package should be rebuilt
|
|
|
|
or not
|
2022-02-21 17:18:14 +01:00
|
|
|
* Hardcoded planning of builds
|
|
|
|
* Builds are sequential
|
2022-02-21 22:58:05 +01:00
|
|
|
* API for managing Git repositories to build
|
2022-02-22 20:46:28 +01:00
|
|
|
* CLI to list, add & remove Git repos to build
|
|
|
|
* Published packages on my Vieter instance
|
2022-03-27 18:22:30 +02:00
|
|
|
* Support for multiple repositories
|
|
|
|
* Support for multiple architectures per repository
|
2022-02-21 17:18:14 +01:00
|
|
|
|
2022-04-09 22:41:38 +02:00
|
|
|
### Fixed
|
2022-02-21 17:18:14 +01:00
|
|
|
|
|
|
|
* Each package can now only have one version in the repository at once
|
|
|
|
(required by Pacman)
|
2022-03-27 18:22:30 +02:00
|
|
|
* Packages with unknown fields in .PKGINFO are now allowed
|
2022-04-09 21:17:22 +02:00
|
|
|
* Old packages are now properly removed
|
2022-02-21 17:18:14 +01:00
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [0.1.0](https://git.rustybever.be/vieter-v/vieter/src/tag/0.1.0)
|
2022-02-02 13:55:05 +01:00
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
2022-02-02 13:34:28 +01:00
|
|
|
* Improved logging
|
|
|
|
|
2022-06-22 09:27:22 +02:00
|
|
|
## [0.1.0-rc.1](https://git.rustybever.be/vieter-v/vieter/src/tag/0.1.0-rc.1)
|
2022-02-01 00:17:56 +01:00
|
|
|
|
2022-01-27 22:14:08 +01:00
|
|
|
### Added
|
|
|
|
|
|
|
|
* Ability to publish packages
|
|
|
|
* Re-wrote repo-add in V
|