Commit Graph

352 Commits (dev)

Author SHA1 Message Date
Jef Roosens d4c803c41c
doc(env): added missing docstring & README 2022-05-16 14:53:48 +02:00
Jef Roosens 055b168ff1
refactor(util): split into two files 2022-05-16 14:36:31 +02:00
Jef Roosens 1d3c7a1651
refactor(docker): renamed DockerDaemon to DockerConn 2022-05-16 14:09:21 +02:00
Jef Roosens 97cdaa18e1
refactor(docker): split stream separator code into own function 2022-05-16 13:03:44 +02:00
Jef Roosens ce67208fbd
refactor(docker): remove old code 2022-05-15 10:01:12 +02:00
Jef Roosens e041682fea
feat(docker): fully migrate build commands to new code 2022-05-15 09:56:23 +02:00
Jef Roosens 79fd9c1f87
fix(docker): read_response now handles chunked data 2022-05-15 09:23:35 +02:00
Jef Roosens 1811ebbe3f
doc: documented new Docker code 2022-05-15 09:23:35 +02:00
Jef Roosens f22ed29631
feat(docker): added StreamFormatReader 2022-05-15 09:23:35 +02:00
Jef Roosens 92cbea69d6
feat(docker): added ChunkedResponseReader implementation 2022-05-15 09:23:34 +02:00
Jef Roosens da46b8b4ae
feat(docker): error when HTTP requests fail 2022-05-15 09:23:34 +02:00
Jef Roosens 4c97489f8a
feat(docker): partially migrate to new code 2022-05-15 09:23:21 +02:00
Jef Roosens dd9958ea28
refactor: ran vfmt with new defaults
feat(docker): started work on new implementation
2022-05-15 09:23:21 +02:00
Jef Roosens 473c7ec06b
feat(docker): start of new socket implementation 2022-05-15 09:23:13 +02:00
Jef Roosens 5c5c2f87e0
feat(cli): lists are now properly formatted in an ascii table 2022-05-14 20:11:29 +02:00
Jef Roosens 5f21e256ee
refactor: apply new vfmt defaults 2022-05-14 20:06:08 +02:00
LordMZTE 0bac221aee fix: don't pass --nodeps to initial build step (#173)
This fixes packages that require their dependencies in `pkgver` or
`prepare` failing to build.

Reviewed-on: vieter/vieter#173
Co-authored-by: LordMZTE <lord@mzte.de>
Co-committed-by: LordMZTE <lord@mzte.de>
2022-05-10 13:36:07 +02:00
Jef Roosens 3821ed29fd
refactor(docker): simplified loop expression 2022-05-09 15:05:53 +02:00
Jef Roosens 5a5f7f8346
refactor(docker): use builtin parse_rfc3339 function 2022-05-09 14:58:20 +02:00
Jef Roosens ea4c4fce16
feat(cron): upload logs after build 2022-05-09 08:51:10 +02:00
Jef Roosens e79d18100f
chore: ran `make fmt` 2022-05-09 08:51:10 +02:00
Jef Roosens 4b172cb5d8
feat(cli): `vieter build` now builds a single repo & uploads build logs 2022-05-09 08:51:10 +02:00
Jef Roosens 27aa215eff
feat(docker): added function to retrieve container logs 2022-05-09 08:51:10 +02:00
Jef Roosens 5f7d7c4780
doc: added documentation to all functions 2022-05-07 22:06:17 +02:00
Jef Roosens 5b016df85d
feat(cli): added commands for interacting with build logs 2022-05-07 21:50:20 +02:00
Jef Roosens fa6603bd45
feat(client): added client code for logs API 2022-05-07 19:38:28 +02:00
Jef Roosens 407b226955
refactor: moved client code into own module 2022-05-07 16:10:27 +02:00
Jef Roosens f42d3fd8b0
fix(server): prevent adding logs to non-existent repo 2022-05-07 15:44:59 +02:00
Jef Roosens 139142fcec
feat(server): added endpoint for content of build log 2022-05-07 15:41:49 +02:00
Jef Roosens 393e641a76
feat(server): allow filtering of builds per repo 2022-05-07 15:31:01 +02:00
Jef Roosens 7e01dbafec
feat(server): added endpoints for listing & uploading build logs 2022-05-07 15:10:07 +02:00
Jef Roosens 58c1ecd25e
db: added BuildLog & required methods 2022-05-07 14:16:30 +02:00
Jef Roosens 356a34ab01
chore: bumped versions 2022-05-06 20:04:48 +02:00
Jef Roosens a3b6680153
cron: filter out repos with wrong architecture 2022-05-06 08:31:59 +02:00
Jef Roosens 8c5652c230
ci: made build upload failable; updated ci for use with PRs 2022-05-05 23:11:18 +02:00
Jef Roosens 5781796e99
doc: added docstrings to all db/git functions 2022-05-03 20:02:05 +02:00
Jef Roosens 204144cee8
refactor: removed commented code & ran formatter 2022-05-03 19:50:14 +02:00
Jef Roosens c818273790
feat: simplified config down to pkg_dir & data_dir
BREAKING: downloads are now stored inside the root of pkg_dir, the log
file is always stored in the root of data_dir
2022-05-03 19:50:14 +02:00
Jef Roosens 7419144f97
feat: removed git.GitRepo type
feat(cli): updated to new GitRepo format
2022-05-03 19:50:14 +02:00
Jef Roosens 0a2488a4df
feat(server): migrated repo patch to sqlite 2022-05-03 19:50:14 +02:00
Jef Roosens 891a206116
feat(server): partially migrated repos API to sqlite 2022-05-03 19:50:14 +02:00
Jef Roosens 03318586ed
feat(cron): added debug log on build_repo failure 2022-05-02 07:50:44 +02:00
Jef Roosens 5cde3d0235
fix(cli): allow empty schedule to clear it 2022-05-01 14:51:52 +02:00
Jef Roosens d313c5b786
feat(cli): added command to show detailed repo info 2022-05-01 13:06:57 +02:00
Jef Roosens 92b8f1fb93
feat(cli): added management of cron schedules 2022-05-01 12:52:05 +02:00
Jef Roosens b1ac39e234
feat: made arch param optional when adding Git repo 2022-05-01 12:44:54 +02:00
Jef Roosens 325dcc27de
fix(cron): made Daemon.run infallible 2022-05-01 09:15:17 +02:00
Jef Roosens cfacf9ed0f
fix(cron): don't show error for empty cron schedule 2022-04-30 20:58:43 +02:00
Jef Roosens f9f440500e
docs: added comment string to each function 2022-04-30 20:22:03 +02:00
Jef Roosens fb65efdfbe
feat(cron): added removal of old builder images 2022-04-30 18:38:24 +02:00
Jef Roosens 369b4458c5
feat(cron): added automatic rebuilding of image; implemented builds 2022-04-30 18:10:33 +02:00
Jef Roosens caee56efd4
feat(cron): improve sleep calculation; prevent invalid rescheduling of
finished builds
2022-04-30 16:08:35 +02:00
Jef Roosens a1c308f29d
feature(daemon): added api renewal & calculated sleep time 2022-04-30 14:19:08 +02:00
Jef Roosens 6f9e1b5f3c
feat(cron): start of working loop 2022-04-30 11:58:49 +02:00
Jef Roosens 7722d5a7e4
fix: replace byte with u8
BREAKING: the V compiler removed the byte type alias in favor of u8.
2022-04-30 11:58:49 +02:00
Jef Roosens c8fc683384
Eh don't feel like writing scheduler rn 2022-04-14 21:20:10 +02:00
Jef Roosens c8af362a4a
Workaround for weird bug 2022-04-14 20:38:14 +02:00
Jef Roosens 78b477fb92
Removed deprecated err.msg & err.code 2022-04-13 22:20:05 +02:00
Jef Roosens f7e1aba30b
Attempt at writing renew_queue function; seems to just stop in the
middle
2022-04-13 16:12:22 +02:00
Jef Roosens ff57d73998
Start of daemon (not working) [CI SKIP] 2022-04-13 15:24:55 +02:00
Jef Roosens 132a7a8ba5
Added int support to env; fixed apparently broken defaults 2022-04-13 14:51:01 +02:00
Jef Roosens bd0c276fd8
Added 'WIP' notice for cron cli 2022-04-12 21:28:44 +02:00
Jef Roosens 5ce431aa4a
Added two more test dates; pleased v vet 2022-04-12 21:23:38 +02:00
Jef Roosens 1116fee3fc
Actually possibly kinda decent cron next func 2022-04-12 21:16:09 +02:00
Jef Roosens e6033f9ab4
Ran vfmt 2022-04-12 20:53:20 +02:00
Jef Roosens eb65bb8a69
These bugs are gonna take a while 2022-04-12 14:22:40 +02:00
Jef Roosens 5c38071998
Merge branch 'dev' into cron 2022-04-12 11:30:01 +02:00
Jef Roosens 65d6aae701
Made sure unix value is calculated 2022-04-12 11:10:49 +02:00
Jef Roosens 2942793f40
Added support for x-y syntax 2022-04-12 10:35:29 +02:00
Jef Roosens f4bb03f488
Tests n bug fixes 2022-04-12 09:48:25 +02:00
Jef Roosens 04e54b8b10
Migrated tests to new bitv-based implementation 2022-04-12 09:00:18 +02:00
Jef Roosens ab4f64b6b6
Failed attempt at x,y,z cron stuff [CI SKIP] 2022-04-11 22:52:06 +02:00
Jef Roosens 0e5f31e649
Added some much-needed documentation 2022-04-11 22:30:22 +02:00
Jef Roosens 135b6c3d7f
Alpha version cron 'next' function 2022-04-11 22:16:31 +02:00
Jef Roosens 3b15066329
Removed unnecessary log output 2022-04-11 09:36:40 +02:00
Jef Roosens e3da3d0d7f
Can't figure out cron algo right now [CI SKIP] 2022-04-10 17:48:15 +02:00
Jef Roosens 799fe2e454
Added some extra tests for parse_range 2022-04-10 16:58:55 +02:00
Jef Roosens f92a20fcf8
Gave all modules own directory; added test CI pipeline 2022-04-10 16:48:37 +02:00
Jef Roosens 6d60ea1538
Started writing cron expression parser [CI SKIP] 2022-04-10 16:17:50 +02:00
Jef Roosens aacadca7a8
Bumped version in cli 2022-04-09 22:13:21 +02:00
Jef Roosens 62bee78955
Updated changelog 2022-04-09 21:17:22 +02:00
Jef Roosens a65207f961
Solved the "removing old packages" problem (I think) 2022-04-09 21:08:54 +02:00
Jef Roosens cec5ecce7f
Each repo now has its own subdir in pkg_dir 2022-04-09 17:41:41 +02:00
Jef Roosens ebe01c2d44
Added route to request desc file; updated builder for new route (fixes #118) 2022-04-09 12:23:54 +02:00
Jef Roosens e890128bda
Ran formatter 2022-04-09 09:50:37 +02:00
Jef Roosens 41ee08045b Start of cron implementation 2022-04-09 09:46:07 +02:00
Jef Roosens 8b2900d7f3
Added option to specify base build image to use 2022-04-08 13:22:29 +02:00
Jef Roosens 0617c9b904
forgot to add part for creating filename 2022-04-07 22:00:38 +02:00
Jef Roosens c3ac00f24d
Added support for xz-compressed packages 2022-04-07 21:29:08 +02:00
Jef Roosens 97f3532204
Ran vfmt 2022-04-07 16:11:05 +02:00
Jef Roosens 3b555efa91
Renamed data_dir to repos_dir 2022-04-07 15:21:27 +02:00
Jef Roosens a5ac0b6956
Fixed dumb mistake in repos cli 2022-04-07 15:12:48 +02:00
Jef Roosens c6d176f426
Added patch support to repos cli 2022-04-07 15:08:27 +02:00
Jef Roosens ab72c800c3
Ran vfmt 2022-04-07 14:50:07 +02:00
Jef Roosens 8ecac2ff28
Updated build system to respect repo arch settings 2022-04-07 14:40:49 +02:00
Jef Roosens 7eab7afa98
Expanded git repos api to store repository to publish to 2022-04-07 14:28:21 +02:00
Jef Roosens 9d8491a77a
Changed behavior for default_arch variable 2022-04-07 13:47:06 +02:00
Jef Roosens 6479071fd7
Merge branch 'dev' into multi-arch-repos-v2 2022-04-07 13:06:37 +02:00
Jef Roosens 78310fa1e4
Builder now uses new Git repos API 2022-04-07 12:10:37 +02:00
Jef Roosens fc1d4480dc
Split Git client code into separate module 2022-04-07 12:07:56 +02:00
Jef Roosens b31b4cbd7a
Pleased vfmt & vet 2022-04-07 11:58:05 +02:00
Jef Roosens 7eb0aa76e1
CLI tool can now work with new repo UUIDs 2022-04-07 11:54:20 +02:00
Jef Roosens a893577ade
Merge branch 'dev' into multi-arch-repos-v2 2022-04-06 23:11:41 +02:00
Jef Roosens f44ce1c17f
Started work on better repos cli 2022-04-06 22:41:19 +02:00
Jef Roosens d7f6c87053
Added some comments 2022-04-06 21:11:38 +02:00
Jef Roosens 6b495b4e6e
Merge branch 'dev' into restful-api 2022-04-06 21:03:52 +02:00
Jef Roosens dff531d866
Some final adjustments before merge 2022-04-06 19:51:54 +02:00
Jef Roosens c656e672e2
Moved config structs to more logical location 2022-04-06 18:20:14 +02:00
Jef Roosens 2aa2aa143c
Switched to proper default values system 2022-04-06 18:17:33 +02:00
Jef Roosens b70be0574e
Small change to documentation 2022-04-06 18:02:57 +02:00
Jef Roosens 75dfc5267b
Made vet happy 2022-04-06 17:57:05 +02:00
Jef Roosens e9d7858380
env module now properly supports config file 2022-04-06 17:51:06 +02:00
Jef Roosens 21ef262ede
Migrated rest of cli commands 2022-04-06 17:16:27 +02:00
Jef Roosens b90e6cf6b4
Updatd config files; ran formatter 2022-04-06 16:57:27 +02:00
Jef Roosens 5b919ceeae
Switched to cli module; merged cli & vieter into single binary 2022-04-06 16:52:31 +02:00
Jef Roosens fe24774848
Added some docs 2022-04-01 21:50:00 +02:00
Jef Roosens 3a6effad80
Ran vfmt 2022-04-01 21:34:58 +02:00
Jef Roosens 148ec3ab47
Updated changelog 2022-04-01 21:33:55 +02:00
Jef Roosens e5a630e990
Switched to net.http.Status for status codes 2022-03-28 14:44:23 +02:00
Jef Roosens 0a6be87970
Start of web framework revamp 2022-03-28 14:24:26 +02:00
Jef Roosens 08821725f9
Added proper constraint for creating repo 2022-03-28 13:34:22 +02:00
Jef Roosens a4a71a2797
First part of RESTful API (not correct yet) [CI SKIP] 2022-03-28 10:19:57 +02:00
Jef Roosens aa632c7cd9
Switched to correct filenames 2022-03-27 20:26:58 +02:00
Jef Roosens 0dd4534e20
Added extra comments; made linter happy 2022-03-27 19:54:49 +02:00
Jef Roosens cb2ba86200
Updated logging for multi-repo setup 2022-03-27 18:22:30 +02:00
Jef Roosens 014ade5092
Updated routes for multi-repo setup (untested) 2022-03-27 17:00:11 +02:00
Jef Roosens a47cace296
Very alpha support for multiple & multi-arch repos 2022-03-27 16:33:06 +02:00
Jef Roosens 013ce511d7
Loosed up SRCINFO field requirements (fixes #111) 2022-03-27 15:10:45 +02:00
Jef Roosens 4a4362c138
Fixed linting errors 2022-02-25 21:54:16 +01:00
Jef Roosens 732b53b6ce
Forgot to uncomment line 2022-02-25 21:50:07 +01:00
Jef Roosens a7cb08f93d
Containers now check whether package should be rebuilt 2022-02-25 21:47:28 +01:00
Jef Roosens 540574b3c3
Split builds into separate containers; made makepkg parallel 2022-02-25 20:52:30 +01:00
Jef Roosens 27f59c6664
Updated CI Dockerfile; fixed formatting & vet 2022-02-22 08:14:20 +01:00
Jef Roosens 6194a3f408
Builder now gets list of repos from server 2022-02-21 22:58:05 +01:00
Jef Roosens fe98112f79
Added repos delete route 2022-02-21 22:40:59 +01:00
Jef Roosens 398758a727
Fixed segfault
All together now: thank you spytheman
2022-02-21 22:32:54 +01:00
Jef Roosens e13252d368
Initial part of repos API (SEGFAULTS) [CI SKIP] 2022-02-21 22:22:36 +01:00
Jef Roosens 92ad0c51eb
Split off server into own module 2022-02-21 20:51:41 +01:00
Jef Roosens 1d434db166
Wrote a proper env file system 2022-02-21 20:42:13 +01:00
Jef Roosens 0cdd4e7b4b
Versioned API endpoints (closes #91) 2022-02-21 17:49:10 +01:00
Jef Roosens 96416585bc
Added some error messages; updated changelog 2022-02-21 17:18:14 +01:00
Jef Roosens 9cc88e629f
Added some documentation; ran format 2022-02-20 22:15:10 +01:00
Jef Roosens 138386682d
Repos are now read from a json file 2022-02-20 21:19:31 +01:00
Jef Roosens 941b30e7d2
Fully functional hardcoded build command 2022-02-20 21:09:06 +01:00
Jef Roosens 4f705f5fb5
Working build example!! 2022-02-20 20:26:39 +01:00
Jef Roosens 5515e2dca5
Formatting & some cleanup 2022-02-20 13:10:48 +01:00
Jef Roosens fbba66caa5
Docker wrapper now waits for chunked responses 2022-02-20 13:03:00 +01:00
Jef Roosens 275227400f
Wait for chunked stream WIP [CI SKIP] 2022-02-20 12:35:10 +01:00
Jef Roosens e6a1d32f0e
Some experimenting with docker api 2022-02-19 22:25:52 +01:00
Jef Roosens 57c4af0aaf
Fix for segfault 2022-02-19 21:41:26 +01:00
Jef Roosens 6c435c2a1e
Merge branch 'dev' into basic-builds 2022-02-19 15:55:45 +01:00
Jef Roosens 34ccd9a6ef
Merge branch 'dev' into better-v-integration 2022-02-19 15:38:36 +01:00
Jef Roosens 3b3a2f4fc1
Fixed linting errors 2022-02-19 15:36:30 +01:00
Jef Roosens 99f6dc69fd
Fixed tiny linting error 2022-02-18 22:08:58 +01:00
Jef Roosens 18edb0ea8d
Merge branch 'dev' into single-version-per-pkg 2022-02-18 22:01:04 +01:00
Jef Roosens 79b47a76e2
Remove packages from db before adding new version 2022-02-18 21:59:33 +01:00
Jef Roosens 6f86033cd9
Currently broken start of docker wrapper [CI SKIP] 2022-02-17 22:00:46 +01:00
Jef Roosens 022f8c4fbe
Updated to weekly.2022.07 2022-02-14 22:28:18 +01:00
Jef Roosens eb57febdd3
We must please make vet 2022-02-02 13:34:28 +01:00
Jef Roosens a29592ef36
Logs now show names of added packages 2022-02-02 13:25:05 +01:00
Jef Roosens 3ad960fd59
Filter healthcheck out of logs 2022-02-02 13:10:55 +01:00
Jef Roosens eb91e73510
Some slight log improvements 2022-02-02 13:09:03 +01:00
Jef Roosens 33e695bdf3
Filenames now use the correct compression scheme (closes #56) 2022-01-31 23:01:17 +01:00
Jef Roosens 8a0beffbe2
Bumped v release; files are now served properly 2022-01-31 21:14:43 +01:00
Jef Roosens 3c0b7156c1
Sha256sum gets calculated as well now (closes #44) 2022-01-31 14:43:57 +01:00
Jef Roosens 21c8e28e64
Added healthcheck route; upgraded Docker image 2022-01-31 11:11:45 +01:00
Jef Roosens e26e2746de
Added creation of files archive 2022-01-30 23:54:05 +01:00
Jef Roosens b0212b8162
Fixed the memory bug! thanks spy 2022-01-30 21:03:32 +01:00
Jef Roosens 766e097be8
Overcomplicated the test script because of course [CI SKIP] 2022-01-30 18:13:12 +01:00
Jef Roosens 4c56351132
Started stress testing script [CI SKIP] 2022-01-30 14:13:37 +01:00
Jef Roosens 8e6b1e233f
Let's test this new builder 2022-01-27 21:04:23 +01:00
Jef Roosens 78e343fae2
Switched to patch-based builder, based on weekly 2022-01-27 19:18:11 +01:00
Jef Roosens e817535e86
Removed some commented-out code 2022-01-20 20:42:18 +01:00
Jef Roosens f1a17cab22
Failed attempt at fixing memory bug 2022-01-20 19:39:38 +01:00
Jef Roosens 01d961f68e
File stats are now correctly copied over to archive 2022-01-20 17:45:04 +01:00
Jef Roosens b6e9fa5b02
First working version of creating archive 2022-01-20 17:11:03 +01:00
Jef Roosens a37d40d278
Added start of libarchive bindings for writing 2022-01-20 00:08:26 +01:00
Jef Roosens 944bc41275
Split libarchive bindings into separate file 2022-01-19 23:45:12 +01:00
Jef Roosens 735492dcbd
Be nice, CI 2022-01-19 21:30:56 +01:00
Jef Roosens d04ba06ad3
Finally enabled web server again 2022-01-19 21:24:46 +01:00
Jef Roosens 57fe767a70
Working add to repo functionality 2022-01-19 18:54:33 +01:00
Jef Roosens 4bc3bfb8cf
Moved checksum calculation to desc function 2022-01-19 17:22:36 +01:00
Jef Roosens df3310944e
Working md5 checksum 2022-01-19 17:15:37 +01:00
Jef Roosens 9bd14b4cbf
Yeah this doesn't work [CI SKIP] 2022-01-18 22:52:14 +01:00
Jef Roosens cb16091f65
Non-working hashing code [CI SKIP] 2022-01-18 21:41:09 +01:00
Jef Roosens 3dc355f786
Wrote PkgInfo to desc generator 2022-01-18 20:27:00 +01:00
Jef Roosens b86c6b5e16
Code now passes vet 2022-01-14 22:46:04 +01:00
Jef Roosens 1f8f16fe8d
Moved archive read code into pkg.v 2022-01-14 22:20:58 +01:00
Jef Roosens d538e25da3
CI? You awake? 2022-01-14 21:52:40 +01:00
Jef Roosens e13081a4aa
Only support zstd-compressed tarballs 2022-01-14 21:50:43 +01:00
Jef Roosens 0ed2c9f854
Ignore certain files from archive 2022-01-13 23:36:29 +01:00
Jef Roosens d4b7a25c06
Lots of restructuring for repo backend 2022-01-13 21:47:14 +01:00
Jef Roosens 5616e7a4e2
Added function to read .PKGINFO into struct 2022-01-13 19:20:14 +01:00
Jef Roosens 6fb893ff41
Added development & release image publishing 2022-01-13 13:51:02 +01:00
Jef Roosens 44ddd57f55
Moved archive C bindings into separate file 2022-01-13 12:46:36 +01:00
Jef Roosens f49992d452
Working .PKGINFO read function! 2022-01-13 12:35:05 +01:00
Jef Roosens fd334d93a2
We're done for today 2022-01-12 23:15:11 +01:00
Jef Roosens 6dbac5918b
Start of .PKGINFO function 2022-01-12 23:06:03 +01:00
Jef Roosens 74c8bfa158
First actual working libarchive function! 2022-01-12 22:08:27 +01:00
Jef Roosens 476588274f
Geniet ervan Maxim 2022-01-12 21:50:17 +01:00