Christopher Baines
af581784b2
Log the guix store path being used
...
In the load-new-guix-revision module.
2019-09-01 13:12:10 +01:00
Christopher Baines
f118ed0bf9
Improve handling of errors when changing locale
...
In the load-new-guix-revision module.
2019-09-01 13:12:10 +01:00
Christopher Baines
3a79449974
Display counts of lint warnings on the revision page
2019-09-01 13:12:10 +01:00
Christopher Baines
75f2c19fc8
Add lint-warning-count-by-lint-checker-for-revision
...
To return counts of lint warnings, grouped by lint checker for a specific
revision.
2019-09-01 13:12:10 +01:00
Christopher Baines
6b9977f62e
Store lint warnings in the database
...
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.
2019-09-01 13:12:10 +01:00
Christopher Baines
bf469504eb
Add buffering to the log handling for jobs
...
To increase the log output speed, avoiding inserting one character at a time
in to the database.
2019-08-31 12:10:54 +01:00
Christopher Baines
8c741c569b
Add insert-missing-data-and-return-all-ids to the model utils module
...
This should help greatly with populating the database with new entries, and
greatly reduce code duplication.
2019-08-31 12:09:54 +01:00
Christopher Baines
657c72c203
Use $STR$ for better quoting in quote-string
2019-08-31 12:09:31 +01:00
Christopher Baines
c7baf53c3f
Add value->sql-boolean to (guix-data-service model utils)
2019-08-31 12:07:58 +01:00
Christopher Baines
66df42ae4f
Fix insert-guix-revision to return an id
...
Rather than an id wrapped in a list.
2019-08-31 12:07:22 +01:00
Christopher Baines
d35cc85d52
Improve error handling for processing emails
2019-08-31 12:06:36 +01:00
Christopher Baines
84ad3656df
Alphabetically order the derivation comparison page
2019-08-06 10:33:00 +01:00
Christopher Baines
89b498aad0
Remove the build status filter from the compare derivations page
...
As there isn't sufficient data to make this work yet.
2019-08-06 10:24:19 +01:00
Christopher Baines
3849bb79c5
Support filtering by systems and targets when comparing derivations
2019-08-06 10:22:57 +01:00
Christopher Baines
36a16d356f
Improve derivation comparison to show more changes
...
In cases where the version is changed for example, the relevant derivations
will now show up, whereas previously they did not.
2019-08-06 09:55:03 +01:00
Christopher Baines
82c3e8942b
Only show the Compare button when it'll work
...
On the branch page.
2019-08-05 21:24:07 +01:00
Christopher Baines
9e80bda4f9
Avoid erroring when processing emails again
...
These changes allow processing emails again, and just creating job and branch
entries where data is missing.
2019-08-05 20:59:48 +01:00
Christopher Baines
712dd377a1
Remove test data after the tests have ran
...
The load-new-guix-revision tests aren't transactional, so truncate some tables
after running the tests.
2019-08-05 20:45:40 +01:00
Christopher Baines
f553a7490d
Change the git_branches table primary key
...
To allow for having branches in multiple git repositories.
2019-08-05 20:02:06 +01:00
Christopher Baines
4b59108fdd
Properly handle not finding a matching derivation
2019-08-05 19:45:10 +01:00
Christopher Baines
70126f7ed0
Set the Vary header to a sensible default value
...
As most pages vary based on the Accept header.
2019-08-05 19:43:50 +01:00
Christopher Baines
8f7398b814
Tweak the branch table layout
2019-08-05 11:36:57 +01:00
Christopher Baines
002ae7685c
Clear the previous log entry when starting a job
2019-08-04 09:42:21 +01:00
Christopher Baines
84197686ce
Fix some duplicated values in tables
...
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.
2019-08-04 09:39:40 +01:00
Christopher Baines
1724bc485f
Link to the comparison page from the branch page
...
To allow easily comparing revisions.
2019-07-29 21:11:45 +01:00
Christopher Baines
ef123dcded
Link to the package pages from the comparison page
2019-07-29 21:10:41 +01:00
Christopher Baines
91e0527b4d
Link to cgit on the comparison page
2019-07-29 20:40:56 +01:00
Christopher Baines
b075a71d1e
Add a function to get the cgit URL bases for revisions
...
To enable adding a link to cgit to the comparison page.
2019-07-29 20:39:57 +01:00
Christopher Baines
f2c7cc83ed
Fix the JSON compare output
2019-07-29 19:48:57 +01:00
Christopher Baines
08d9cbbfe3
Neaten up how branches in Git repositories are linked to
2019-07-27 09:38:50 +01:00
Christopher Baines
a2caa3ea30
Link to the Statistics and Jobs pages from the index page
2019-07-27 09:38:36 +01:00
Christopher Baines
75226a1499
Fix the latest-processed-revision pages
2019-07-27 09:12:25 +01:00
Christopher Baines
7f8ffb4bea
Show links to the cgit pages for repositories on the index page
2019-07-22 21:11:09 +01:00
Christopher Baines
05db0a87f9
Switch the index page to show branches for a repository
...
As that's probably more useful than recent revisions and jobs.
2019-07-22 20:51:54 +01:00
Christopher Baines
c23822e14d
Extract out the branches with most recent commits table
...
As I'm thinking about using this on the index page.
2019-07-22 20:36:40 +01:00
Christopher Baines
219b1fd4ad
Extract out view-revision/jobs-and-events
...
This is common to both view-revision and unknown-revision.
2019-07-22 20:29:38 +01:00
Christopher Baines
7a70e9ca6f
Extract out view-revision/git-repositories
...
As this was duplicated in the functions for viewing known and unknown
revisions.
2019-07-22 20:29:29 +01:00
Christopher Baines
91be72df03
Display the jobs related to a revision on the revision page
2019-07-22 20:00:11 +01:00
Christopher Baines
1f1deac296
Link from a revision to the git repository page
2019-07-19 21:29:56 +01:00
Christopher Baines
1f977f6c12
Improve how repositories and branches are handled
...
Make the link between repositories and branches clearer, replacing the
/branches and /branch pages by /repository/ and /repository/*/branch/* pages.
2019-07-19 21:22:15 +01:00
Christopher Baines
6dd52f08ed
Remove restrictions in select-job-for-update
...
This allows running jobs manually that have failed.
2019-07-19 20:25:53 +01:00
Christopher Baines
71607eff66
Close the logging port once it's been used
2019-07-19 20:25:13 +01:00
Christopher Baines
dab984b1d5
Fix match expression
...
Specify 'GET rather than GET, to actually match the method, rather than
binding it to GET.
2019-07-19 20:20:52 +01:00
Christopher Baines
fac3db2d14
Remove localhost from the Sqitch config
...
This means it'll connect over the socket, like the application.
2019-07-16 18:20:56 +01:00
Christopher Baines
413ef9ea6e
Prioritise processing the latest revisions for branches
...
Reserve some capacity to process revisions which are the tip of a branch. This
should reduce the time between new revisions appearing, and then being
processed.
2019-07-16 18:20:02 +01:00
Christopher Baines
6904547bf2
Record jobs as failed when they are killed
...
So that they aren't retried again and again.
2019-07-14 14:43:47 +01:00
Christopher Baines
3dfa9212f1
Kill long running load new revision jobs
...
There are some revisions of Guix which take forever to process (or days at
least). To avoid jobs being processed forever, kill them after they've been
running for a while (default 24 hours).
2019-07-12 23:00:44 +01:00
Christopher Baines
83ef624b97
Switch to processing jobs in parallel
...
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.
2019-07-12 23:00:44 +01:00
Christopher Baines
09d927cb99
Add a process-job command
...
This allows easily processing an individual job by id. This may be useful to
use manually, but also when processing jobs in parallel, as forking doesn't
work well with the libpq library used by squee.
2019-07-12 19:57:24 +01:00
Christopher Baines
a6bd46b829
Obtain a lock when inserting the data for a new revision
...
This is working towards running the jobs in parallel. Each job looks at the
records in the database, and adds missing ones. If other jobs, running in
different transactions insert the same missing records at the same time, this
could cause an error.
Therefore, to just avoid this problem, lock before inserting the data. This
will allow the jobs to be processed in parallel, and it shouldn't have too
much of an effect on performance, as the slow bit is outside of the
transaction.
2019-07-12 19:57:13 +01:00