Commit Graph

184 Commits

Author SHA1 Message Date
Martchus c7d8e71978 Add staging test with multiple batches 2022-09-15 22:59:18 +02:00
Martchus 598b931e9f Move staging tests into their own block 2022-09-15 22:24:12 +02:00
Martchus 69ee493b8f Fix out-commented check in tests 2022-09-15 22:06:48 +02:00
Martchus bde385ba6b Allow auth without access to secrets (and then just don't access secrets) 2022-07-29 22:07:24 +02:00
Martchus 662c924321 Use `flagenumclass.h` for auth flags 2022-07-29 22:06:40 +02:00
Martchus aece080986 Pass sudo password and GPG passphrase from encrypted file
Not tested yet; so far just an idea to make everything at least a little
more secure
2022-07-25 21:48:24 +02:00
Martchus 255da5b091 Allow passing secrets to build action 2022-07-11 23:33:28 +02:00
Martchus df2b5ba9f6 Allow secrets stored in encrypted files to be loaded from route handlers 2022-07-10 19:47:41 +02:00
Martchus 9c83ba8ea7 Extend tests for conducting build
* Test further error cases
* Improve checks for error messages
* Use better scoping
2022-07-01 19:28:49 +02:00
Martchus 1e7e604917 Fix skipping package build due to failed dependency
Skip package as expected when a dependency failed that was attempted to be
built as last package of the previous batch (and building as far as
possible is enabled).
2022-07-01 19:27:39 +02:00
Martchus 6c1782ba42 Apply clang-format 2022-06-28 16:08:53 +02:00
Martchus 0e3be7ce69 Fix conduct build action from getting stuck when configuring chroot fails
by moving the creation of the process session below configuring the chroot
2022-06-27 12:49:47 +02:00
Martchus 9f5474e128 Fix passing architecture when creating database
When adding a new database when reloading the config at runtime the
architecture must be passed when creating the database. Otherwise we end up
with the new database sharing the internal storage with the x86_64 database
which leads to very confusing behavior.
2022-06-19 23:06:25 +02:00
Martchus 0a536a992a Fix missing include for std::ifstream 2022-06-15 23:31:14 +02:00
Martchus 3b150428ae Allow building with `makecontainerpkg` 2022-06-12 20:42:14 +02:00
Martchus 294dba0e2a Fix URL and show it in the about dialog 2022-06-09 19:50:43 +02:00
Martchus c155176098 Fix missing build date in package search
* Avoid using buildDate of PackageInfo in favor of the same field in
  PackageBase
    * PackageInfo::buildDate should be removed on the next breaking change
* Do not really use the deprecated attribute because it is still used by
  (de)serialization code until it is removed for good
2022-06-08 22:44:58 +02:00
Martchus 94c4b8addc Improve misleading test name 2022-05-31 21:34:20 +02:00
Martchus 55c7c62c7c Speed up returning build actions table by avoiding deserializing whole obj 2022-05-31 20:54:02 +02:00
Martchus 645bb0fe54 Use arch-specific sub-directory within cache dir when conducting build 2022-05-31 20:27:42 +02:00
Martchus f2902f1d08 Apply clang-format 2022-05-31 20:13:21 +02:00
Martchus ecebf9fbde Fix showing arch of packages after optimization
* Move the binary package arch truly into the base package
2022-05-31 20:13:15 +02:00
Martchus b74392c34d Speed up deserialization when serving providing packages as well 2022-05-31 19:40:12 +02:00
Martchus 68d67f543f Refactor to optimize deserialization of base-data
* Break backwards compatibility
* Allow to deserialize only base-data of packages and build
  actions to potentially speed up showing tables
* Speed up package search in many cases by only deserializing
  base-data (unless details are actually wanted)
2022-05-31 19:04:57 +02:00
Martchus ae44624989 Rebuild package DBs as well when fixing DBs 2022-05-15 00:32:46 +02:00
Martchus 40cfe9883c Ensure there are no more leftovers in "clean-repository-" DBs 2022-05-15 00:07:39 +02:00
Martchus f37739ec07 Avoid compilation error with GCC 12
Make operator<< for iteratable objects visible prior to call site like it
is already done in other places.
2022-05-12 21:01:58 +02:00
Martchus 438fccd6cd Avoid fatal warning about potential null pointer deref from GCC 12
It is about code included from Boost.Asio (some io_uring related code) so
let's just not treat it as fatal error.
2022-05-12 20:45:25 +02:00
Martchus 4c98887b02 Fix warning about possibly unused value 2022-05-12 20:33:23 +02:00
Martchus 5a6d68b318 Fix using files DB in CleanRepository 2022-05-07 01:59:14 +02:00
Martchus c2d5e2f749 Use DB path when checking timestamps in repo cleanup
Otherwise it can break if files DBs are used.
2022-05-02 22:23:35 +02:00
Martchus 1950619f21 Add link to UI in root page 2022-05-01 22:21:42 +02:00
Martchus e343b3ca44 Split `ResourceUsage` into `MemoryUsage` and setup specific stats 2022-04-24 18:25:22 +02:00
Martchus 142f6466ae Show resource usage in UI 2022-04-23 19:56:22 +02:00
Martchus a780b26ef6 Log package cache size on startup 2022-04-20 22:47:29 +02:00
Martchus 26caa78956 Reduce memory usage when loading packages
* Avoid creation of map with all archive contents; instead parse packages
  while walking though the archive
* Avoid instantiation of std::string in come cases (using std::string_view)
* Reuse libarchive's archive entry when walking though archive
* Use visitor-based database parser in all places to avoid intermediate big
  array with all package objects
2022-04-20 22:47:10 +02:00
Martchus 2ca6ce1eec Prevent crash in package search when index is broken 2022-04-19 00:24:31 +02:00
Martchus 1f3f0b0df1 Avoid high memory usage when reloading database
Especially when enabling files DBs it is quite problematic to store all
package objects of a database within one big array. This change avoids the
array and instead adds the packages directly. The disadvantage is that
clearing the database isn't as simple anymore.
2022-04-19 00:23:46 +02:00
Martchus edb014011c Make package search more efficient
* Avoid keeping list of all packages in memory by pushing each package
  directly to the JSON array
* Avoid check for database before pushing each package; do it only before
  reaching the next database
* Remove no longer required functions
2022-04-17 23:39:25 +02:00
Martchus 4578b30ea2 Remove hard-coded build directories in test data 2022-04-15 19:58:35 +02:00
Martchus eae8af6571 Avoid big build action IDs by reusing older/lower ones 2022-04-15 19:20:01 +02:00
Martchus e15f65ac16 Extend tests for conducting build 2022-04-07 23:18:14 +02:00
Martchus 08421fa719 Don't rely on local pkg dir when reloading library deps
Since 11f1849fde the cache dir is also set as local pkg dir
so we cannot rely on packages really existing there.
2022-04-07 21:35:05 +02:00
Martchus 7c627e6a12 Use `auto` in `getPackages()` 2022-03-22 21:03:56 +01:00
Martchus 56afe0c710 Fix returning newly retrieved AUR packages 2022-03-22 21:03:01 +01:00
Martchus d163f56abf Log whether `io_uring` is used/configured 2022-03-20 17:37:33 +01:00
Martchus d5e2b5489d Provide filename for artefact downloads 2022-03-15 23:22:34 +01:00
Martchus 69a81f7583 Remove unused function declaration 2022-03-15 22:27:50 +01:00
Martchus 83c7426fce Allow specifying output path for license info 2022-03-15 22:23:34 +01:00
Martchus 13cccd3bc9 Improve creating license info 2022-03-15 01:10:15 +01:00