chore: please the linter
ci/woodpecker/pr/lint Pipeline was successful Details
ci/woodpecker/pr/docs Pipeline was successful Details
ci/woodpecker/pr/build Pipeline was successful Details
ci/woodpecker/pr/man Pipeline was successful Details
ci/woodpecker/pr/docker Pipeline was successful Details
ci/woodpecker/pr/test Pipeline was successful Details

pull/301/head
Jef Roosens 2022-12-13 17:51:42 +01:00
parent 5cbfc0ebcb
commit 03f2240ff6
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
6 changed files with 7 additions and 6 deletions

View File

@ -103,6 +103,7 @@ pub:
logs string logs string
} }
// build_target builds the given target. Internally it calls `build_config`.
pub fn build_target(address string, api_key string, base_image_id string, target &Target) !BuildResult { pub fn build_target(address string, api_key string, base_image_id string, target &Target) !BuildResult {
config := BuildConfig{ config := BuildConfig{
target_id: target.id target_id: target.id
@ -116,7 +117,7 @@ pub fn build_target(address string, api_key string, base_image_id string, target
return build_config(address, api_key, config) return build_config(address, api_key, config)
} }
// build_target builds, packages & publishes a given Arch package based on the // build_config builds, packages & publishes a given Arch package based on the
// provided target. The base image ID should be of an image previously created // provided target. The base image ID should be of an image previously created
// by create_build_image. It returns the logs of the container. // by create_build_image. It returns the logs of the container.
pub fn build_config(address string, api_key string, config BuildConfig) !BuildResult { pub fn build_config(address string, api_key string, config BuildConfig) !BuildResult {

View File

@ -41,6 +41,7 @@ mut:
invalidated map[int]time.Time invalidated map[int]time.Time
} }
// new_job_queue initializes a new job queue
pub fn new_job_queue(default_schedule CronExpression, default_base_image string) BuildJobQueue { pub fn new_job_queue(default_schedule CronExpression, default_base_image string) BuildJobQueue {
return BuildJobQueue{ return BuildJobQueue{
default_schedule: default_schedule default_schedule: default_schedule

View File

@ -1,7 +1,5 @@
module build module build
import models
fn test_create_build_script_git_branch() { fn test_create_build_script_git_branch() {
config := BuildConfig{ config := BuildConfig{
target_id: 1 target_id: 1

View File

@ -2,6 +2,7 @@ module client
import build { BuildConfig } import build { BuildConfig }
// poll_jobs requests a list of new build jobs from the server.
pub fn (c &Client) poll_jobs(arch string, max int) ![]BuildConfig { pub fn (c &Client) poll_jobs(arch string, max int) ![]BuildConfig {
data := c.send_request<[]BuildConfig>(.get, '/api/v1/jobs/poll', { data := c.send_request<[]BuildConfig>(.get, '/api/v1/jobs/poll', {
'arch': arch 'arch': arch

View File

@ -2,10 +2,8 @@ module server
import web import web
import web.response { new_data_response, new_response } import web.response { new_data_response, new_response }
// import os
// import util
// import models { BuildLog, BuildLogFilter }
// v1_poll_job_queue allows agents to poll for new build jobs.
['/api/v1/jobs/poll'; auth; get] ['/api/v1/jobs/poll'; auth; get]
fn (mut app App) v1_poll_job_queue() web.Result { fn (mut app App) v1_poll_job_queue() web.Result {
arch := app.query['arch'] or { arch := app.query['arch'] or {

View File

@ -27,6 +27,8 @@ pub mut:
db db.VieterDb db db.VieterDb
} }
// init_job_queue populates a fresh job queue with all the targets currently
// stored in the database.
fn (mut app App) init_job_queue() ! { fn (mut app App) init_job_queue() ! {
// Initialize build queues // Initialize build queues
mut targets := app.db.get_targets(limit: 25) mut targets := app.db.get_targets(limit: 25)