Commit Graph
13 Commits
Author SHA1 Message Date
Joachim Wiberg 1ef8465095 .github; only publish to latest release from main branch
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-10-03 16:14:02 +02:00
Joachim Wiberg ff5b5f98b4 .github: simplify a bit now that we have a check-trigger
With all jobs now depending on check-trigger we can do the evaluations
there and set some variables that can be reused later.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-10-02 17:02:40 +02:00
Joachim Wiberg 97fd671c12 .github: alternative fix to issue #1154
Here we use a check-trigger job that all the others depend on, which
should prevent duplicate workflows starting a bit more elegantly than
killing one of them with the concurrency checker.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-10-02 17:02:39 +02:00
Joachim Wiberg b330c6c70d .github: prevent duplicate builds when ci:main label is added to PRs
Add concurrency control to trigger workflow to cancel in-progress builds
when new events (like adding ci:main label) occur on the same PR.  This
prevents resource waste from duplicate builds and handles the common
workflow where developers add the ci:main label after PR creation.

Fixes #1154
2025-09-15 19:12:51 +02:00
Richard Alpe 17df77ca0f .github: rename ci work branch
This branch can be used to test push events which is especially
useful when working on the CI infrastructure.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-09-02 13:16:05 +02:00
Richard Alpe a188f4269d .github: only run _minimal build for PRs
PRs which doesn't have the label ci:main.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-09-02 13:14:39 +02:00
Richard Alpe 7244fad2e8 .github: include flavor in target
There are 2 main reasons for this:

1) It's almost impossible to write complex logical expressions in GH
workflows. I wanted to pass "" as flavor when not building _minimal.
So that the end target string would become TARGET + FLAVOR where
FLAVOR is empty, making it x86_64 for example.

As it turns out "" is false in GH workflow logical expressions, this
in conjunction with the limitations the interpreter has made it hard
to actually write sane expressions in the "with:" variables when
calling downstream jobs via workflow calls.

Here's an example of what I was trying to do and could not:

with:
  flavor: ${{ (
    github.event_name == 'pull_request' &&
    contains(github.event.pull_request.labels.*.name, 'ci:main')
  ) && '' || '_minimal' }}

As '' is false, the first sets of expressions always evaluates to
false making the string "_minimal". I tried bracing this in various
ways and to use "null" or various JSON objects, all in vain.

2) It reduces complexity instead of adding additional.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-08-26 14:37:13 +02:00
Richard Alpe c135230289 .github: only run main workflow on kernelkit/
Avoid trying to run on forks, which most likely will cause erros
and other ugliness.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-08-11 08:32:48 +02:00
Richard Alpe 9271c2439f .github: add name when calling test from self trigger 2025-07-07 09:53:04 +02:00
Richard Alpe b3d76de8f3 .github: quote workflow call variables in trigger 2025-07-07 09:53:02 +02:00
Richard Alpe 56f14ff520 .github: build _minimal on self-trigger
Signed-off-by: Richard Alpe <richard@bit42.se>
2025-07-07 09:53:01 +02:00
Richard Alpe efd6cce842 .github: pass (Infix) name as workflow_call input
Signed-off-by: Richard Alpe <richard@bit42.se>
2025-07-07 09:52:57 +02:00
Richard Alpe 1dc84af095 .github: use workflow calls to build and test
Redesign how GH actions are triggered. This new design uses a
self-trigger to start jobs which are only started via workflow_calls.

The main benefit of this is to be able to start workflows from various
Infix Spins without needing to duplicate the workflow files in them.

Upcoming patches are intended to parameterize to allow Spins to pass
different architectures, brand names and such.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-07-07 09:52:55 +02:00