| Commit message (Collapse) | Author | Age |
|
|
|
| |
When processing jobs, this is mostly to allow setting GUIX_DOWNLOAD_METHODS.
|
|
|
|
|
| |
The guix-dameon WAL is still growing excessively, so avoid doing anything with
the long running store connection except registering temporary roots.
|
| |
|
|
|
|
|
|
|
|
| |
Just have one fiber at the moment, but this will enable using fibers for
parallelism in the future.
Fibers seemed to cause problems with the logging setup, which was a bit odd in
the first place. So move logging to the parent process which is better anyway.
|
|
|
|
| |
This is a bit ugly, but might speed up computing derivations for system tests.
|
|
|
|
|
|
|
|
|
|
|
| |
Generating system test derivations are difficult, since you generally need to
do potentially expensive builds for the system you're generating the system
tests for. You might not want to disable grafts for instance because you might
be trying to test whatever the test is testing in the context of grafts being
enabled.
I'm looking at skipping the system tests on data.guix.gnu.org, because they're
not used and quite expensive to compute.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
And create a proper git_branches table in the process.
I'm hoping this will help with slow deletions from the
package_derivations_by_guix_revision_range table in the case where there are
lots of branches, since it'll separate the data for one branch from another.
These migrations will remove the existing data, so
rebuild-package-derivations-table will currently need manually running to
regenerate it.
|
|
|
|
|
| |
This means that the lock can be acquired after closing the inferior, freeing
the large amount of memory that the inferior process is probably using.
|
| |
|
|
|
|
|
|
| |
Start at least looking for package replacements, and storing the
details (particularly the derivation). I'm looking at doing this so that build
servers using the Guix Data Service can build these derivations.
|
|
|
|
| |
This removes the need to hardcode some values in the code.
|
|
|
|
|
| |
This should not be necessary, but currently the database isn't used to find
out the valid system values.
|
| |
|
|
|
|
| |
It now returns #f or a list, rather than the empty list or a nested list.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
From the normalized one, to the one actually contained within glibc. Recent
versions of glibc also contain symlinks linking the normalized codeset to the
locales with the .UTF-8 ending, but older ones do not.
Maybe handling codeset normalisation for queries would be good, but the locale
values ending in .UTF-8 are more compatible and allow the code to be
simplified. For querying, maybe there should be a locales table which handles
different representations.
|
|
|
|
| |
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
|
|
| |
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
|
|
| |
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
| |
|
|
|
|
| |
To help with getting them running on Guile 3.
|
| |
|
|
|
|
|
| |
As I forget why I even added it. I'm sure it was to try and make test failures
more understandable, but I'm not sure it worked.
|
| |
|
|
|
|
|
| |
With Guile 3, there's a potential for mock to work in even fewer
circumstances. So, adapt the code to enable writing the tests without mock.
|
| |
|
|
|
|
|
| |
As entries from incomplete previous runs can effect the test, so clean out any
old data before the test begins.
|
|
|
|
| |
So that the tests don't require a store connection.
|
|
|
|
|
| |
As this will enable registering temporary roots, to avoid store items being
garbage collected.
|
|
|
|
| |
These are the ones that relate to Guix pull.
|
| |
|
|
|
|
|
| |
In the future, it would be good to pull this from the database again, but in
some way which is really quick.
|
|
|
|
| |
If the channel-news-for-commit function is present.
|
|
|
|
| |
To allow for passing the channel to channel-news-for-commit.
|
|
|
|
|
|
|
| |
Add tests around the package module, extract out the use of the
inferior-package record assessors so that they aren't part of the tests, and
switch across the package-metadata module to use
insert-missing-data-and-return-all-ids.
|
|
|
|
| |
About mocking the record file accessors not working :(
|
|
|
|
|
|
|
|
|
| |
squee, returns all data as strings, and expects strings as inputs to
queries. So, keeping the ids as strings was easy initially, but it means that
you can't tell from the type whether it should be quoted, or not...
Therefore, handle ids as strings, converting them to numbers when they're
fetched from the database, and back to strings as part of the queries.
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the relevant tables and code to store lint warnings in the
database.
Currently, only lint checkers which don't require access to the network will
be run, as this allows the processing to happen without network access. Also,
this functionality won't work in older versions of Guix which don't expose the
lint warnings in a compatible way.
|
|
|
|
|
| |
These changes allow processing emails again, and just creating job and branch
entries where data is missing.
|
|
|
|
|
| |
The load-new-guix-revision tests aren't transactional, so truncate some tables
after running the tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The licenses table, along with the package_metadata table had duplicate
values. This could happen as the unique constraints on those tables didn't
properly account for the nullable fields.
The duplicates in those tables also affected the license_sets, packages,
package_derivations tables in a similar way. Finally, the
guix_revision_package_derivations table was also affected.
This commit adds a migration to fix the data, as well as the constraints. THe
code to populate the licenses and package_metadata tables is also updated.
|
|
|
|
|
|
| |
This should speed up processing new revisions, reduce latency between finding
out about new revisions and processing them, as well as help manage memory
usage, by processing each job in a process that then exits.
|
| |
|
|
|
|
| |
This helps when working out which connection to the database is doing what.
|
| |
|
| |
|
|
|
|
|
| |
Previously, the timezone was stripped off, so the timestamps were off. This
commit changes the code to use a Unix timestamp, which avoids this issue.
|
|
|
|
|
|
|
|
|
|
| |
And display this on the package page.
This uses a couple of new tables, and an additional field in the
package_metadata table.
Currently, the order of the licenses in the package definition isn't stored,
as I'm not sure the order in the list is significant.
|
|
|
|
|
|
|
|
| |
On one code path, they were handled as numbers, whereas elsewhere they were
handled as strings. This led to the package-metadata code trying to insert
duplicate entries.
Instead, just handle them as strings everywhere.
|