Dev: run-functional-tests: "-n" option can grow more nodes #4580
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, run tests and lint with a single version of Python | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
# For more information about secrets see: https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets | |
name: crmsh CI | |
on: | |
- pull_request | |
- workflow_call | |
env: | |
CONTAINER_SCRIPT: sudo ./test/run-functional-tests | |
GET_INDEX_OF: ./test/run-functional-tests _get_index_of | |
jobs: | |
general_check: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: check data-manifest | |
run: | | |
./update-data-manifest.sh | |
output=`git --no-pager diff data-manifest` | |
[[ -z $output ]] || { | |
echo "$output" | |
echo "A new version of data-manifest is needed." | |
echo "Please run ./update-data-manifest.sh && git add ./data-manifest in your local environment and push the code again." | |
exit 1 | |
} | |
sudo apt-get update && sudo apt-get install pylint | |
pylint --rcfile pylint.toml crmsh | |
unit_test: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
python-version: ['3.11', '3.12'] | |
fail-fast: false | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install tox | |
- name: Test with pytest in tox | |
run: | | |
tox -v -e${{ matrix.python-version }} | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: unit | |
functional_test_crm_report_bugs: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for crm_report bugs | |
run: | | |
index=`$GET_INDEX_OF crm_report_bugs` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_crm_report_normal: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for crm_report normal | |
run: | | |
index=`$GET_INDEX_OF crm_report_normal` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_bugs: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap bugs | |
run: | | |
index=`$GET_INDEX_OF bootstrap_bugs` | |
$CONTAINER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_bugs_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap bugs, under non root user | |
run: | | |
index=`$GET_INDEX_OF bootstrap_bugs` | |
$CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_common: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap common | |
run: | | |
index=`$GET_INDEX_OF bootstrap_init_join_remove` | |
$CONTAINER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_common_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap common, under non root user | |
run: | | |
index=`$GET_INDEX_OF bootstrap_init_join_remove` | |
$CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_options: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap options | |
run: | | |
index=`$GET_INDEX_OF bootstrap_options` | |
$CONTAINER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_corosync_ui: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for crm corosync subcommand | |
run: | | |
index=`$GET_INDEX_OF corosync_ui` | |
$CONTAINER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_options_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap options, under non root user | |
run: | | |
index=`$GET_INDEX_OF bootstrap_options` | |
$CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_setup_remove: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice setup and remove | |
run: | | |
index=`$GET_INDEX_OF qdevice_setup_remove` | |
$CONTAINER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_setup_remove_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice setup and remove, under non root user | |
run: | | |
index=`$GET_INDEX_OF qdevice_setup_remove` | |
$CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_options: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice options | |
run: | | |
index=`$GET_INDEX_OF qdevice_options` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_validate: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice validate | |
run: | | |
index=`$GET_INDEX_OF qdevice_validate` | |
$CONTAINER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_validate_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice validate, under non root user | |
run: | | |
index=`$GET_INDEX_OF qdevice_validate` | |
$CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_user_case: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice user case | |
run: | | |
index=`$GET_INDEX_OF qdevice_usercase` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_resource_failcount: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for resource failcount | |
run: | | |
index=`$GET_INDEX_OF resource_failcount` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_resource_set: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for resource set | |
run: | | |
index=`$GET_INDEX_OF resource_set` | |
$CONTAINER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_resource_set_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for resource set, under non root user | |
run: | | |
index=`$GET_INDEX_OF resource_set` | |
$CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_configure_sublevel: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for configure sublevel bugs | |
run: | | |
index=`$GET_INDEX_OF configure_bugs` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_constraints_bugs: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for constraints bugs | |
run: | | |
index=`$GET_INDEX_OF constraints_bugs` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_geo_cluster: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for geo cluster | |
run: | | |
index=`$GET_INDEX_OF geo_setup` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_healthcheck: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for healthcheck | |
run: | | |
index=`$GET_INDEX_OF healthcheck` | |
$CONTAINER_SCRIPT $index && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_cluster_api: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for cluster api | |
run: | | |
$CONTAINER_SCRIPT `$GET_INDEX_OF cluster_api` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_user_access: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for user access | |
run: | | |
$CONTAINER_SCRIPT `$GET_INDEX_OF user_access` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_ssh_agent: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for ssh agent | |
run: | | |
$CONTAINER_SCRIPT `$GET_INDEX_OF ssh_agent` && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT -u `$GET_INDEX_OF ssh_agent` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_blocking_ssh: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for blocking ssh | |
run: | | |
$CONTAINER_SCRIPT `$GET_INDEX_OF cluster_blocking_ssh` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
original_regression_test: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: original regression test | |
run: | | |
$CONTAINER_SCRIPT `$GET_INDEX_OF "regression test"` |