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

Improve workflows #2

Merged
merged 395 commits into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
395 commits
Select commit Hold shift + click to select a range
349578f
src/scheduler: store error message when job fails with "submit_error"
Mar 27, 2024
2ad5ae7
config: pipeline: Set minimum kernel version for DT kselftest to 6.7
nfraprado Mar 26, 2024
b82bc8d
configs/: Update volteer device
nuclearcat Mar 27, 2024
abc540c
result_summary templates: detailed output for active/inactive regress…
r-c-n Apr 2, 2024
cf2b398
result_summary: new presets for active regressions
r-c-n Apr 2, 2024
0609293
result_summary: update CHANGELOG
r-c-n Apr 2, 2024
bdfd653
data: chmod -R 777 ./data/output to avoid permission error
helen-fornazier Mar 29, 2024
2752a7f
result_summary: move code to _get_logs
helen-fornazier Apr 1, 2024
765ab42
result_summary: use ThreadPoolExecutor to fetch logs
helen-fornazier Apr 1, 2024
afdec00
result_summary: fix result presets
r-c-n Apr 2, 2024
9fe979f
src/regression_tracker: rework regression detection
r-c-n Mar 26, 2024
f5e5e2f
src/regression_tracker: link failed nodes to active regressions
r-c-n Mar 27, 2024
e1cc5f9
result_summary: support for date ranges for creation and update
r-c-n Apr 3, 2024
228bc55
result_summary templates: support for date ranges for creation and la…
r-c-n Apr 3, 2024
b488e6a
result_summary: support for extra query parameters in cmdline
r-c-n Apr 3, 2024
e250144
result_summary presets: html markup in some preset titles
r-c-n Apr 3, 2024
deecc30
result_summary changelog: update and move to docs folder
r-c-n Apr 3, 2024
494bc34
result_summary: move parameter loading and processing to 'setup'
r-c-n Apr 4, 2024
12a6a51
result_summary: refactor and split into two clases (single, run)
r-c-n Apr 4, 2024
d4dc897
result_summary: WIP initial implementation of the "loop" command
r-c-n Apr 5, 2024
b1f5196
result_summary: huge refactoring
r-c-n Apr 5, 2024
dcd6329
result_summary templates: fix markup and indentation
r-c-n Apr 8, 2024
ed4ea06
result_summary: new generic templates for monitor mode
r-c-n Apr 8, 2024
721c17c
result_summary presets: examples for "monitor" and "summary" modes
r-c-n Apr 9, 2024
0c51b88
result_summary changelog: summary and monitor modes
r-c-n Apr 9, 2024
8ce30c5
result_summary templates: fix generic regression report
r-c-n Apr 9, 2024
68dba1f
result_summary: summary: fix last_updated option handling
r-c-n Apr 9, 2024
5ccf1b6
result_summary: embed css stylesheet in html files
r-c-n Apr 9, 2024
8909f3b
regression_tracker: [trivial] make regression active by default
r-c-n Apr 9, 2024
c3960ed
regression_tracker: [trivial] set default empty node sequence
r-c-n Apr 9, 2024
967f2da
result_summary: add cmdline option --output-dir
r-c-n Apr 9, 2024
2d20ba6
result_summary changelog: command-line options change
r-c-n Apr 9, 2024
26fafbf
config: jobs-chromeos: remove meaningless Tast tests
a-wai Apr 3, 2024
95f9656
config: scheduler-chromeos: don't execute non-working Tast tests
a-wai Apr 4, 2024
c693ff5
config: jobs-chromeos: exclude Tast tests known to always fail
a-wai Apr 4, 2024
bf46b88
config: chromeos: add special case for pre-6.7 qcom codec tests
a-wai Apr 4, 2024
7af7aae
lava_callback: Compress the log files to save storage space
nuclearcat Apr 3, 2024
2585fcc
tests: Add basic yaml validation
nuclearcat Apr 11, 2024
38c4609
config: chromeos: drop stoneyridge/pineview naming in platforms anchors
laura-nao Mar 20, 2024
a12e0b8
config: chromeos: rename test job anchors that use chromeos specific …
laura-nao Mar 26, 2024
2607654
config: chromeos: add baseline tests
laura-nao Mar 26, 2024
52e9e4a
config: chromeos: drop stoneyridge/pineview naming in job defs
laura-nao Mar 29, 2024
3f6fd16
config: chromeos: drop chromeos infix from baseline jobs
laura-nao Apr 10, 2024
a63f7d9
result_summary: post-process results for summary and monitor modes
r-c-n Apr 12, 2024
dbd7a14
result_summary templates: update and fix presets and templates
r-c-n Apr 12, 2024
e5534aa
doc/result-summary-CHANGELOG: update
r-c-n Apr 12, 2024
7f533c4
config/pipeline.yaml: enable 'BayLibre' lab
Mar 13, 2024
4286b70
docker-compose.yaml: add `lab-baylibre` runtime
Mar 13, 2024
c853a36
config/pipeline.yaml: add `baseline-x86-baylibre` job
Mar 15, 2024
a1bac64
config/pipeline.yaml: add `baseline-armel-baylibre` job
Mar 28, 2024
60948c2
config/pipeline: enable `android` tree and build configs
helen-fornazier Apr 9, 2024
f45ae7b
config/pipeline.yaml: add kbuild definitions for android-mainline
helen-fornazier Apr 10, 2024
5a6204d
config/pipeline.yaml: add entries to schedule to build android-mainline
helen-fornazier Apr 11, 2024
66c74ea
result_summary: fix node filter in monitor mode
r-c-n Apr 15, 2024
6babe66
kernelci.toml: set `checkout` node timeout to `180 min`
Apr 15, 2024
4f17244
result_summary: add email report capabilities for monitor mode
r-c-n Apr 15, 2024
554f961
result_summary templates: plain text single report templates
r-c-n Apr 15, 2024
da71d5c
config: chromeos: add baseline-nfs tests
laura-nao Apr 12, 2024
361fc0d
src/timeout: set `checkout` result
Apr 15, 2024
07f169f
regression_tracker: bugfix, failed test with no prior runs
r-c-n Apr 12, 2024
47579e4
config: platforms-chromeos: fix dalboz device type
a-wai Apr 15, 2024
2c5d078
config: jobs-chromes: run Tast tests only on 5.4+
a-wai Apr 16, 2024
1fa6fcb
config: platforms-chromes: drop non-existent platform
a-wai Apr 16, 2024
785c3c5
config: exclude android tree from kbuild jobs
a-wai Apr 11, 2024
f1e9ef2
src/timeout: a bug fix in `_submit_lapsed_nodes`
Apr 16, 2024
1132250
pipeline.yaml: Update early access FQDN
nuclearcat Apr 16, 2024
80c427a
src/tarball: fix `_kdir` in `update_repo`
Apr 17, 2024
848d737
src/timeout: fix method to get child nodes recursively
Apr 18, 2024
06e20ae
config: pipeline: rename "armel" arch to "arm"
a-wai Apr 16, 2024
d3f1a80
config: use per-system arch property where relevant
a-wai Apr 16, 2024
7b43687
src/timeout: set timed-out `checkout` result
Apr 17, 2024
5cf9bef
src/tarball: update checkout node when update repo fails
Apr 18, 2024
4739465
config: pipeline: enable collabora-next tree and build config
laura-nao Apr 10, 2024
52afc5d
config: chromeos: enable acpi kselftest on collabora-next tree
laura-nao Apr 10, 2024
fa9afb0
result_summary: restore missing split_query_params function
r-c-n Apr 24, 2024
4a48c40
lava_callback: Don't upload empty files to Azure
nuclearcat Apr 25, 2024
40f332f
result_summary presets: unify preset and output names
r-c-n Apr 26, 2024
36f7cf2
result_summary presets: update preset for aferraris
r-c-n Apr 26, 2024
ec2300e
result_summary presets: new presets for laura.nao
r-c-n Apr 26, 2024
e2444db
result_summary presets: fixes and new presets for nfraprado
r-c-n Apr 26, 2024
4989e2e
result_summary presets: fix arch query parameters
r-c-n Apr 26, 2024
ab68b82
k8s: Lot of deployment tested fixes
nuclearcat Apr 22, 2024
e477fc6
result-summary presets: Fix build failure and regression monitors
nfraprado Apr 26, 2024
f5c8e03
result_summary: added debug traces to the monitor
r-c-n Apr 29, 2024
3d29c0b
result_summary: fix corner case bug when no logs are found
r-c-n Apr 29, 2024
f1e78d3
result_summary presets: refine stable-rc presets
r-c-n Apr 29, 2024
426dee5
result_summary templates: add regression info to test reports
r-c-n Apr 29, 2024
833c4df
result_summary templates: escape log snippets
r-c-n Apr 29, 2024
6091a03
src: lava_callback: add device ID to node data
a-wai Apr 26, 2024
5acf5fe
src: lava_callback: upload raw callback data as well
a-wai Apr 29, 2024
5ed8218
DONOTMERGE lava_callback: add debug statements
a-wai Apr 29, 2024
b6198b1
result_summary_templates: fix error 'node' is undefined
helen-fornazier Apr 29, 2024
6dd898b
config/runtime/kunit: set architecture info
Apr 19, 2024
d81deaa
src/timeout: count running child jobs of build nodes
Apr 17, 2024
faece0e
src/timeout: handle closing `checkout` node differently
Apr 17, 2024
b47aa82
src/timeout: handle holdoff reached `checkout` node differently
Apr 17, 2024
a72a0f9
Revert "DONOTMERGE lava_callback: add debug statements"
a-wai Apr 30, 2024
2372ecf
Create dependabot.yml
nuclearcat Apr 30, 2024
11aca40
result_summary_templates: make generic-test-failures generic to all
helen-fornazier Apr 29, 2024
0fbd272
result-summary.yaml: add preset to list android build tests
helen-fornazier Apr 29, 2024
dcfc91c
tarball: Implement checkout for specific commit
nuclearcat May 2, 2024
eb13505
jobs-chromeos.yaml: Disable module compression for every kernel version
nfraprado Apr 26, 2024
5232470
src: lava_callback: reduce callback data size
a-wai Apr 30, 2024
571d403
src: lava_callback: don't leak secret token
a-wai Apr 30, 2024
d264376
config: platforms-chromeos: use new cros-flash image
a-wai Apr 22, 2024
f96c0be
src: regression_tracker: add the "device" field to regression data
a-wai Apr 30, 2024
e1ed3a4
config: result_summary_templates: report device used for job
a-wai Apr 30, 2024
0456093
kubernetes: Update deployment recipe
nuclearcat May 1, 2024
e58de09
lava-callback: Limit threads of lava-callback
nuclearcat May 1, 2024
d873987
result_summary presets: add presetes for fluster test
musamaanjum Apr 30, 2024
b8e4d8d
result_summary presets: make the name of fluster test generic
musamaanjum May 6, 2024
dbcbe3a
config: enable first fluster test for mt8195-cherry-tomato-r2
musamaanjum Apr 30, 2024
bfa2a95
config: jobs-chromeos: Add kernelci tree for testing purpose
musamaanjum May 3, 2024
424d602
config: chromeos: Enable cpufreq kselftest
May 1, 2024
1d1c0f1
result_summary presets: fix preset for kselftest-dt failures monitor
r-c-n May 8, 2024
b93dab3
result_summary presets: new presets for kselftest-cpufreq
r-c-n May 8, 2024
edb5ac4
config: mt8195-cherry-tomato-r2: enable all fluster tests for all bra…
musamaanjum May 7, 2024
8c37fe8
config: mt8183-kukui-jacuzzi-juniper-sku16: enable add all supported …
musamaanjum May 7, 2024
06feba3
config: mt8186-corsola-steelix-sku131072: enable add all supported fl…
musamaanjum May 7, 2024
8af9283
config: mt8192-asurada-spherion-r0: enable add all supported fluster …
musamaanjum May 7, 2024
0c2543d
config: sc7180-trogdor-kingoftown/lazor-limozeen: enable add all supp…
musamaanjum May 7, 2024
3fac5f1
build(deps): bump uwsgi from 2.0.21 to 2.0.22 in /docker/lava-callback
dependabot[bot] Apr 30, 2024
f6b8c76
pipeline.yaml: Add stable-rc build variants
nuclearcat May 9, 2024
9bb0538
result_summary: add error classification
helen-fornazier Apr 30, 2024
15c49b2
result_summary presets: add collabora-chromeos-kernel and media trees…
musamaanjum May 9, 2024
4dd5a5f
config: Use media-stage instead of media-tree
musamaanjum May 17, 2024
a942e86
config/pipeline: enable android branches from legacy
helen-fornazier May 13, 2024
ceaf67a
trigger: Add exclude/include tree list for trigger
nuclearcat May 7, 2024
dd56766
config: platforms-chromeos: use CrOS R124 files
a-wai May 14, 2024
6a81df1
config: jobs-chromeos: drop non-existent Tast tests
a-wai May 15, 2024
1c8a8c2
result_summary presets: fix acpi kselftest presets
laura-nao May 22, 2024
ed53aef
src: update return values of `APIHelper.receive_event_node`
May 9, 2024
f6a1095
result_summary presets: refine presets for v4l2-decoder-conformance
laura-nao May 23, 2024
343ea20
result_summary presets: add summary presets for v4l2-decoder-conformance
laura-nao May 23, 2024
bb5b96f
lava_callback.py: Remove error_code/error_msg on lava-callback
nuclearcat May 27, 2024
ba0f585
result_summary presets: fix dt kselftest presets
nfraprado May 28, 2024
8732867
doc/connecting-lab: refine documentation
May 3, 2024
bd8fdc7
lava_callback: Sometimes we get totally invalid log file uploaded
nuclearcat May 28, 2024
3537335
doc: add `_index.md` page
May 29, 2024
8dc044b
doc: add `pipeline-details` page
May 29, 2024
1814f27
doc/connecting-lab: adjust `weight` property
May 29, 2024
4446ec2
doc: add `developer-documentation` page
May 29, 2024
04961f8
config/pipeline.yaml: add lab config for Qualcomm
May 23, 2024
d1c9d4b
config/pipeline.yaml: add `baseline-x86` job for qualcomm
May 23, 2024
136d0ed
docker-compose.yaml: add lab-qualcomm runtime
May 23, 2024
02538a1
config/pipeline.yaml: add `baseline-arm64` job for qualcomm
May 23, 2024
1895ddb
pipeline.yaml: Update RISC-V configs
nuclearcat May 22, 2024
3c2b63c
lava_callback.py: Sanitize lava log data
nuclearcat May 29, 2024
058e972
config/runtime/kunit.jinja2: fix result map
May 31, 2024
adc2731
config: jobs-chromeos: Add lab-setup fragment
nfraprado May 30, 2024
cb9c02b
lava_callback: bump up slightly threads number
nuclearcat Jun 6, 2024
1b565b9
config: chromeos: enable watchdog reset test on Chromebooks
laura-nao May 28, 2024
c837255
src/send_kcidb: use schema version 4.3
Apr 11, 2024
d59f219
send_kcidb: re-structure code for parsing checkout node
Apr 3, 2024
c80194d
src/send_kcidb: print more information on invalid data
Apr 9, 2024
e52d1cc
src/send_kcidb: optimize `kcidb` import
Apr 13, 2024
3651aa2
src/send_kcidb: remove keys with `None` values
Apr 5, 2024
acf2b95
config: add `kcidb_test_suite` property
May 1, 2024
2f7699c
src/send_kcidb: parse and submit node test and build data
Apr 17, 2024
d2da73c
src/send_kcidb: set `log_excerpt` for builds and tests
May 27, 2024
267c52d
config/jobs-chromes: add kcidb test suite property for watchdog test
Jun 6, 2024
e353fa4
lava_callback.py: disable log removal from callback data
nuclearcat May 16, 2024
eba150e
src/send_kcidb: add error info to build nodes
Jun 10, 2024
ed50e65
result_summary presets: add watchdog-reset presets for mainline/next
laura-nao Jun 10, 2024
8ecdabe
pipeline.yaml: Fix fluster rootfs URL
nuclearcat May 22, 2024
1231d6c
src/send_kcidb: get error metadata for failed/incomplete tests
Jun 11, 2024
ba68789
src/send_kcidb: send tests only if KCIDB test mapping exists
Jun 7, 2024
ab270ed
tests/validate_yaml: add validation for KCIDB mapping
Jun 14, 2024
7dc1df7
config/pipeline.yaml: add qcs6490-rb3gen2 boot test
mwasilew May 30, 2024
5674f4a
config: chromeos: Enable kselftest-dt on Qualcomm platforms
nfraprado Jun 5, 2024
5ba096f
pipeline.yaml: Add one um build for android trees
nuclearcat Jun 18, 2024
396c67d
config: use `kind=job` for test suites
Jun 4, 2024
b49dbe5
config/runtime/kunit.jinja2: provide `kind` value for child tests
Jun 4, 2024
be526f2
config/runtime/kunit.jinja2: fix `NameError`
Jun 10, 2024
1b9c370
config/runtime/kunit.jinja2: evaluate job node result
Jun 18, 2024
1b22ce1
src/send_kcidb: fix parsing of KUnit log file
Jun 13, 2024
ea19bd4
src/send_kcidb: HTTP exception handling for log excerpt
Jun 17, 2024
cd8361f
config: platforms-chromeos: Add serial delay for some Mediatek platforms
nfraprado Jun 3, 2024
93d0c4c
config: chromeos: Enable error-logs kselftest for MediaTek Chromebooks
nfraprado May 28, 2024
f409438
config/pipeline.yaml: enable CIP lab
May 28, 2024
c2b496b
config/pipeline.yaml: add baseline-x86 test for CIP
May 28, 2024
be115e4
docker-compose.yaml: add `lab-cip` runtime
May 28, 2024
c168e2e
src/send_kcidb: enable `job` node submission to KCIDB
Jun 13, 2024
29898f2
src/send_kcidb: don't submit `setup` test suite nodes
Jun 14, 2024
a014d73
src/send_kcidb: add a check before sending data
Jun 20, 2024
c8f8b28
src/send_kcidb: fix logs
Jun 20, 2024
e63fdc9
src/send_kcidb: handle skipped tests
Jun 17, 2024
99d335b
result_summary/utils: ignore failures on log retrieval
r-c-n Jun 21, 2024
e4107a4
doc/developer-documentation: add docs for enabling new tests
Jun 18, 2024
71e41d6
Fix links after docs page migration
pawiecz Jun 24, 2024
4449917
pipeline.yaml: Add kcidebug fragment
nuclearcat Jun 20, 2024
ac15e37
configs: update gcc-10 to gcc-12
nuclearcat Jun 26, 2024
0be7a36
regression_tracker: workaround: match node paths programatically
r-c-n Jun 13, 2024
0c767b3
config: remove qemu jobs from lab-qualcomm
mwasilew Jun 26, 2024
829ebc4
validate_yaml.py: Improve pipeline validation
nuclearcat Jun 27, 2024
7eae7fe
pipeline.yaml: Add broonie(Mark Brown) trees to pipeline
nuclearcat Jun 27, 2024
d5b30e5
validate_yaml.py: Add additional verification for duplicate keys
nuclearcat Jun 27, 2024
f3b9def
validate_yaml.py: Remove path separator
nuclearcat Jun 27, 2024
818241f
validate_yaml.py: Rename variable to schedules
nuclearcat Jun 27, 2024
0087fa1
config/kernelci.toml: update KCIDB origin name
Jun 27, 2024
1ad3d49
src/send_kcidb: update KCI result mapping with KCIDB status
Jun 14, 2024
41c846b
result_summary presets: fix presets for v4l2-decoder-conformance
laura-nao Jun 21, 2024
de21adc
result_summary presets: fix output file name in kselftest-acpi preset
laura-nao Jun 21, 2024
0e27c20
config: enable dmabuf-heaps, exec and iommu kselftest suites
musamaanjum Jun 13, 2024
f405fd7
config: result-summary: add generic rule to monitor failures and regr…
musamaanjum Jun 13, 2024
636191f
config: pipeline: Add rt-stable builds
musamaanjum Jun 14, 2024
9defa0a
config: pipeline: Add v6.6-rt branch for builds
musamaanjum Jun 14, 2024
3814188
config: result-summary: add rt-stable kbuilds presets
musamaanjum Jun 14, 2024
96c6f03
config: chromeos: Add 'nfs' suffix to KCIDB suite name for baseline-nfs
laura-nao Jul 3, 2024
3cd649b
aks: Add kubernetes kcidb deployment
nuclearcat Jul 3, 2024
36295df
kubernetes: Adjust trigger k8s options
nuclearcat Jul 3, 2024
e33c04b
regression_tracker: bugfix: catch empty search condition
r-c-n Jul 4, 2024
4bba618
config: pipeline: correct the kind of kselftest suites to job
musamaanjum Jul 5, 2024
58c2abb
scheduler-chromeos.yaml: Temporarily disable non-essential tast tests
nuclearcat Jul 4, 2024
f0b3ea9
k8s/aks: Update deployment files
nuclearcat Jul 5, 2024
0b7af6d
config: pipeline: enable android builds with gcc-12 for all architect…
musamaanjum Jul 2, 2024
f35fae4
config: pipeline: enable android builds with clang-17 for all archite…
musamaanjum Jul 2, 2024
b4fabcc
config: pipeline: remove build_variants from android build_configs
musamaanjum Jul 3, 2024
10460f2
config: pipeline: add android15-6.6-lts branch for build as well
musamaanjum Jul 3, 2024
42a61c2
config: pipeline: add blocklist for riscv older kernels for android b…
musamaanjum Jul 4, 2024
349d037
config: update KCIDB test suite mapping for baseline
Jul 5, 2024
33bf74f
callback_url: Update config and README
nuclearcat Jul 5, 2024
92c709f
config: pipeline: enable android baseline (boot) testing for arm and …
musamaanjum Jul 3, 2024
ba258b3
scheduler.py: If event have jobfilter, inject it to the node data
nuclearcat Jul 8, 2024
67aab85
lava_callback: migrate to fastapi
nuclearcat Jul 9, 2024
446e26e
config: chromeos: Update fluster rootfs URL
laura-nao Jul 4, 2024
ce4497a
config: pipeline: fix defconfigs in fragments
musamaanjum Jul 10, 2024
5b6089c
kbuild.jinja2: support defconfig as list or str
nuclearcat Jul 10, 2024
eed36fd
config: piepline: add kbuilds of lee-mfd with default defconfigs
musamaanjum Jul 8, 2024
93738d0
config: pipeline: enable baseline testing for mfd for one board of ea…
musamaanjum Jul 8, 2024
6c5174c
config: pipeline: fix platform sections for Qualcomm and Android sche…
pawiecz Jul 11, 2024
2b497d2
k8s: Update deployment to uvicorn, as we use fastapi now
nuclearcat Jul 12, 2024
2b75eaf
config: pipeline: Unblock android runs on lava-collabora
musamaanjum Jul 15, 2024
fa9654d
pipeline: Enable preempt-rt cyclictest test
igaw Jun 17, 2024
5390ee5
pipeline: add all the test jobs for all rt-test
igaw Jun 17, 2024
4c2f19f
config: pipeline: add template and test properties for preempt_rt jobs
musamaanjum Jul 4, 2024
ceecbac
config: pipeline: rename preempt-rt to rt-tests which is correct name…
musamaanjum Jul 5, 2024
6f57a95
config: pipeline: add the correct nfsroot for rt-tests
musamaanjum Jul 15, 2024
89aad6d
config: pipeline: Remove android's deprecated branches
musamaanjum Jul 17, 2024
d097711
config: pipeline: run baseline on non-allmodconfig
musamaanjum Jul 16, 2024
f5f57de
doc: developer-documentation: Update documentation by adding more det…
musamaanjum Jul 9, 2024
5a37f9d
doc/developer-documentation: fix a glitch in enabling new tree section
Jul 18, 2024
dc75085
doc/developer-documentation: update a section title
Jul 18, 2024
f6d163f
config: use the new `tree:branch` format for rules
a-wai Jul 16, 2024
c96dc21
config: pipeline: fix improper use of "filters" attribute
a-wai Jul 16, 2024
7003c76
config/pipeline.yaml: Fix x86 typo in kcidebug job names
nfraprado Jul 17, 2024
f32a88a
config: pipeline: remove params
musamaanjum Jul 19, 2024
28f9f79
validate_yaml.py: Jobs are required to have template parameter
nuclearcat Jul 22, 2024
8caf290
validate_yaml.py: Add more job validations
nuclearcat Jul 22, 2024
71c7ab6
workflows: Add label on CI check failures
nuclearcat Jul 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
29 changes: 29 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,32 @@ jobs:
- name: Run pycodestyle
run: |
pycodestyle src/*.py

- name: Install python yaml package
run: |
pip install pyyaml

- name: Run basic yaml validation
run: |
python tests/validate_yaml.py
on-fail:
if: failure()
runs-on: ubuntu-latest
needs: check
steps:
- name: Add label to PR
uses: actions/github-script@v7
with:
script: |
const label = 'staging-skip';
const { context, github } = require('@actions/github');
const owner = context.repo.owner;
const repo = context.repo.repo;
const pull_number = context.payload.pull_request.number;

await github.issues.addLabels({
owner,
repo,
issue_number: pull_number,
labels: [label]
});
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
.env
.docker-env
data
*.pyc
*.venv

40 changes: 38 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,50 @@ KernelCI Pipeline
Modular pipeline based on the new [KernelCI
API](https://github.com/kernelci/kernelci-api).

Please refer to the [pipeline design documentation](https://kernelci.org/docs/api/overview/#pipeline-design) for more details.
Please refer to the [pipeline design documentation](https://docs.kernelci.org/api_pipeline/api/design/#pipeline-design) for more details.

To use it, first, start the API. Then start the services in this repository on the same host.

Follow instructions to [add a token and start the services](https://kernelci.org/docs/api/getting-started/#setting-up-a-pipeline-instance).
Follow instructions to [add a token and start the services](https://docs.kernelci.org/api_pipeline/api/local-instance/#setting-up-a-pipeline-instance).

> **Note** The `trigger` service was run only once as it's not currently configured to run periodically.

### Setting up LAVA lab

For scheduling jobs, the pipeline needs to be able to submit jobs to a "LAVA lab" type of runtime and receive HTTP(S) callbacks with results over "lava-callback" service.
Runtime is configured in yaml file following way, for example:
```
lava-collabora: &lava-collabora-staging
lab_type: lava
url: https://lava.collabora.dev/
priority_min: 40
priority_max: 60
notify:
callback:
token: kernelci-api-token-staging
```

- url is endpoint of LAVA lab API where job will be submitted.
- notify.callback.token is token DESCRIPTION used in LAVA job definition. This part is a little bit tricky: https://docs.lavasoftware.org/lava/user-notifications.html#notification-callbacks
If you specify token name that does not exist in LAVA under user submitting job, callback will return token secret set to description. If following example it will be "kernelci-api-token-staging".
If you specify token name that matches existing token in LAVA, callback will return token value (secret) from LAVA, which is usually long alphanumeric string.
Tokens generated in LAVA in "API -> Tokens" section. Token name is "DESCRIPTION" and token value (secret) can be shown by clicking on green eye icon named "View token hash".
Callback URL is set in pipeline instance environment variable KCI_INSTANCE_CALLBACK.

The `lava-callback` service is used to receive notifications from LAVA after a job has finished. It is configured to listen on port 8000 by default and expects in header "Authorization" token value(secret) from LAVA. Mapping of token value to lab name is done over toml file. Example:
```
[runtime.lava-collabora]
runtime_token = "REPLACE-LAVA-TOKEN-GENERATED-BY-LAB-LAVA-COLLABORA"
callback_token = "REPLACE-LAVA-TOKEN-GENERATED-BY-LAB-LAVA-COLLABORA"

[runtime.lava-collabora-early-access]
runtime_token = "REPLACE-LAVA-TOKEN-GENERATED-BY-LAB-LAVA-COLLABORA-EARLY-ACCESS"
callback_token = "REPLACE-LAVA-TOKEN-GENERATED-BY-LAB-LAVA-COLLABORA"
```
In case we have single token, it will be same token used to submit job(by scheduler), runtime_token only, but if we use different to tokens to submit job and to receive callback, we need to specify both runtime_token and callback_token.

Summary: Token name(description) is used in yaml configuration, token value(secret) is used in toml configuration.

### Setup KernelCI Pipeline on WSL

To setup `kernelci-pipeline` on WSL (Windows Subsystem for Linux), we need to enable case sensitivity for the file system.
Expand Down
Loading
Loading