-
Notifications
You must be signed in to change notification settings - Fork 36
66 lines (57 loc) · 2.22 KB
/
scenarios.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Run all kickstart tests for all active branches
name: Daily run
on:
# be able to start this action manually from a actions tab when needed
workflow_dispatch:
jobs:
scenario:
name: Scenario
runs-on: [self-hosted, kstest]
strategy:
matrix:
scenario: [daily-iso, rhel9]
fail-fast: false
# these settings depend on the infrastructure; on upshift ocp-master-xxl they take about 4 hours
timeout-minutes: 500
env:
TEST_JOBS: 16
GITHUB_TOKEN: /home/github/github-token
# Should be smaller than job's timeout-minutes value so we get logs of the tests that finished
# by the timeout.
SCENARIO_TIMEOUT: 480m
steps:
# self-hosted runners don't do this automatically; also useful to keep stuff around for debugging
# need to run sudo as the launch script and the container create root/other user owned files
- name: Clean up previous run
run: |
sudo podman ps -q --all --filter='ancestor=kstest-runner' | xargs -tr sudo podman rm -f
sudo podman volume rm --all || true
sudo rm -rf *
- name: Clone repository
uses: actions/checkout@v4
# use the latest official packages for the nightly runs
- name: Clean up squid cache
run: sudo containers/squid.sh clean
- name: Ensure http proxy is running
run: sudo containers/squid.sh start
- name: Run scenario ${{ matrix.scenario }} in container
run: sudo --preserve-env=TEST_JOBS,GITHUB_TOKEN,SCENARIO_TIMEOUT containers/runner/scenario ${{ matrix.scenario }} --defaults .github/defaults.sh
- name: Collect logs
if: always()
uses: actions/upload-artifact@v4
with:
name: 'logs-${{ matrix.scenario }}'
# skip the /anaconda subdirectories, too large
path: |
data/logs/kstest.log
data/logs/kstest.log.json
data/logs/kstest-list
data/logs/kstest-*/*.log
data/logs/kstest-*/anaconda/lorax-packages.log
- name: Collect json summary
if: always()
uses: actions/upload-artifact@v4
with:
name: 'summary-${{ matrix.scenario }}'
path: |
data/logs/kstest.log.json