Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

workflow: move build operations in a reusable workflow #244

Merged
merged 10 commits into from
Oct 26, 2023
Prev Previous commit
Next Next commit
[workflow] Document reusable workflow input variables
Signed-off-by: Manu Bretelle <chantr4@gmail.com>
chantra committed Oct 25, 2023
commit 4c4999947aca253fc4d0b0497c49c31f9604440a
8 changes: 8 additions & 0 deletions .github/workflows/kernel-build-test.yml
Original file line number Diff line number Diff line change
@@ -6,27 +6,35 @@ on:
arch:
required: true
type: string
description: The architecture to build against, e.g x86_64, aarch64, s390x...
toolchain_full:
required: true
type: string
description: The toolchain and for llvm, its version, e.g gcc, llvm-15
toolchain:
required: true
type: string
description: The toolchain, e.g gcc, llvm
runs_on:
required: true
type: string
description: The runners to run the test on. This is a json string representing an array of labels.
llvm-version:
required: true
type: string
description: The version of LLVM used to build selftest.... for llvm toolchain, this should match the one from toolchain_full, for gcc it is an arbritrary version we decide to build selftests against.
kernel:
required: true
type: string
description: The kernel to run the test against. For KPD this is always LATEST, which runs against a newly built kernel.
tests:
required: true
type: string
description: A serialized json array with the tests to be running, it must follow the json-matrix format, https://www.jitsejan.com/use-github-actions-with-json-file-as-matrix
veristat_runs_on:
required: true
type: string
description: Runners to run veristat on.
secrets:
AWS_ROLE_ARN:
required: true
6 changes: 6 additions & 0 deletions .github/workflows/kernel-build.yml
Original file line number Diff line number Diff line change
@@ -7,21 +7,27 @@ on:
arch:
required: true
type: string
description: The architecture to build against, e.g x86_64, aarch64, s390x...
toolchain_full:
required: true
type: string
description: The toolchain and for llvm, its version, e.g gcc, llvm-15
toolchain:
required: true
type: string
description: The toolchain, e.g gcc, llvm
runs_on:
required: true
type: string
description: The runners to run the test on. This is a json string representing an array of labels.
llvm-version:
required: true
type: string
description: The version of LLVM used to build selftest.... for llvm toolchain, this should match the one from toolchain_full, for gcc it is an arbritrary version we decide to build selftests against.
kernel:
required: true
type: string
description: The kernel to run the test against. For KPD this is always LATEST, which runs against a newly built kernel.


jobs:
7 changes: 7 additions & 0 deletions .github/workflows/kernel-test.yml
Original file line number Diff line number Diff line change
@@ -6,24 +6,31 @@ on:
arch:
required: true
type: string
description: The architecture to build against, e.g x86_64, aarch64, s390x...
toolchain_full:
required: true
type: string
description: The toolchain and for llvm, its version, e.g gcc, llvm-15
runs_on:
required: true
type: string
description: The runners to run the test on. This is a json string representing an array of labels.
kernel:
required: true
type: string
description: The kernel to run the test against. For KPD this is always LATEST, which runs against a newly built kernel.
test:
required: true
type: string
description: The test to run in the vm, e.g test_progs, test_maps, test_progs_no_alu32...
continue_on_error:
required: true
type: string
description: Whether to continue on error. This is typically set to true for parallel tests which are currently known to fail, but we don't want to fail the whole CI because of that.
timeout_minutes:
required: true
type: number
description: In case a test runs for too long, after how many seconds shall we timeout and error.

jobs:
test:
5 changes: 5 additions & 0 deletions .github/workflows/kernel-veristat.yml
Original file line number Diff line number Diff line change
@@ -6,18 +6,23 @@ on:
arch:
required: true
type: string
description: The architecture to build against, e.g x86_64, aarch64, s390x...
toolchain:
required: true
type: string
description: The toolchain, e.g gcc, llvm
runs_on:
required: true
type: string
description: The runners to run the test on. This is a json string representing an array of labels.
aws_region:
required: true
type: string
description: The AWS region where we pull bpf objects to run against veristat.
secrets:
AWS_ROLE_ARN:
required: true
description: The AWS role used by GH to pull BPF objects from AWS.

jobs:
veristat: