mirror of
https://github.com/clearlinux/swupd-client.git
synced 2026-09-03 20:21:29 +00:00
495 lines
11 KiB
YAML
495 lines
11 KiB
YAML
name: Swupd tests
|
|
|
|
on: [push, pull_request]
|
|
env:
|
|
RUNNING_IN_CI: true
|
|
NUM_JOBS: 10
|
|
|
|
jobs:
|
|
formatting-check:
|
|
name: Formatting Check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Run clang-format style check
|
|
uses: jidicula/clang-format-action@v4.11.0
|
|
with:
|
|
clang-format-version: '16'
|
|
check-path: 'src'
|
|
|
|
unit_and_style:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build_dep
|
|
run: scripts/github_actions/build_ci_dependencies.bash
|
|
|
|
- name: build
|
|
run: scripts/github_actions/build_ci_style.bash
|
|
|
|
- name: check style
|
|
run: make compliant && make shellcheck && make docs-coverage
|
|
|
|
- name: check install
|
|
run: sudo make install && make install-check
|
|
|
|
- name: run unit tests
|
|
run: make check
|
|
|
|
- name: run distcheck
|
|
run: make distcheck
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
api:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: install_bats
|
|
run: sudo apt-get install bats
|
|
|
|
- name: api
|
|
run: test/code_analysis/check_api_changes.bats
|
|
|
|
test_job1:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 1
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job2:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 2
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job3:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 3
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job4:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 4
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job5:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 5
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job6:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 6
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job7:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 7
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job8:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job9:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 9
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_job10:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
env:
|
|
JOB_NUMBER: 10
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build
|
|
run: |
|
|
scripts/github_actions/build_ci_dependencies.bash
|
|
scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check
|
|
run: scripts/github_actions/run_check.bash "$JOB_NUMBER" "$NUM_JOBS"
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-${{ env.JOB_NUMBER }}
|
|
path: job-${{ env.JOB_NUMBER }}
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_only_ci:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: cache-dependencies
|
|
id: cache-swupd-deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: dependencies
|
|
key: swupd-dependencies
|
|
|
|
- name: build_dep
|
|
run: scripts/github_actions/build_ci_dependencies.bash
|
|
|
|
- name: build
|
|
run: scripts/github_actions/build_ci.bash
|
|
|
|
- name: run check slow
|
|
run: |
|
|
FILES="$(find test/functional/only_in_ci_slow/ -name "*.bats")"
|
|
env TESTS="$(echo $FILES)" make -e -j10 check
|
|
echo "$FILES" >> job-only-ci
|
|
|
|
- name: run check system
|
|
run: |
|
|
FILES="$(find test/functional/only_in_ci_system/ -name "*.bats")"
|
|
env TESTS="$(echo $FILES)" make -e -j1 check
|
|
echo "$FILES" >> job-only-ci
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: job-only-ci
|
|
path: job-only-ci
|
|
|
|
- name: print status
|
|
if: failure()
|
|
run: cat test-suite.log
|
|
|
|
test_successful:
|
|
runs-on: ubuntu-latest
|
|
needs: [unit_and_style, api, test_job1, test_job2, test_job3, test_job4, test_job5, test_job6, test_job7, test_job8, test_job9, test_job10, test_only_ci]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-1
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-2
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-3
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-4
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-5
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-6
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-7
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-8
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-9
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-10
|
|
path: jobs/
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: job-only-ci
|
|
path: jobs/
|
|
|
|
- name: Successful
|
|
run: |
|
|
find test/functional/ -name "*.bats" | sort -u > all_tests
|
|
cat jobs/job-* | sort -u > run_tests
|
|
diff -u all_tests run_tests
|