Files
kubevirt.core/.github/workflows/ci.yml
Felix Matouschek c4b7cc69e7 fix(ci): Do not test ansible-core devel with py3.10
Python 3.10 is no longer supported by ansible-core devel, so this
excludes it from the test matrices.

Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
2024-06-18 07:56:47 +02:00

136 lines
3.3 KiB
YAML

---
name: CI
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
# yamllint disable-line rule:truthy
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
# Run CI once per day (at 06:00 UTC)
# This ensures that even if there haven't been commits that we are still
# testing against latest version of ansible-test for each ansible-base version
schedule:
- cron: "0 6 * * *"
jobs:
linter:
runs-on: ubuntu-latest
env:
collection_dir: ansible_collections/kubevirt/core
steps:
- name: Check out code
uses: actions/checkout@v4
with:
path: ${{ env.collection_dir }}
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.x
cache: pip
- name: Install yamllint, ansible, shellcheck
run: |
python -m pip install --upgrade pip
pip install yamllint ansible-core ansible-lint
sudo apt install -y shellcheck
- name: Run yamllint
run: |
yamllint .
working-directory: ${{ env.collection_dir }}
- name: Run ansible-lint
run: |
ansible-lint --version
ansible-lint -v
working-directory: ${{ env.collection_dir }}
- name: Run shellcheck
run: |
find . -type f -iname '*.sh' -exec shellcheck {} \;
working-directory: ${{ env.collection_dir }}
sanity:
uses: ansible-network/github_actions/.github/workflows/sanity.yml@main
needs:
- linter
with:
matrix_exclude: >-
[
{
"ansible-version": "stable-2.15",
"python-version": "3.12"
},
{
"ansible-version": "stable-2.16",
"python-version": "3.9"
},
{
"ansible-version": "stable-2.17",
"python-version": "3.9"
},
{
"ansible-version": "milestone",
"python-version": "3.9"
},
{
"ansible-version": "devel",
"python-version": "3.9"
},
{
"ansible-version": "devel",
"python-version": "3.10"
}
]
unit-source:
uses: ansible-network/github_actions/.github/workflows/unit_source.yml@main
needs:
- linter
with:
matrix_exclude: >-
[
{
"ansible-version": "stable-2.15",
"python-version": "3.12"
},
{
"ansible-version": "stable-2.16",
"python-version": "3.9"
},
{
"ansible-version": "stable-2.17",
"python-version": "3.9"
},
{
"ansible-version": "milestone",
"python-version": "3.9"
},
{
"ansible-version": "devel",
"python-version": "3.9"
},
{
"ansible-version": "devel",
"python-version": "3.10"
}
]
integration:
uses: ./.github/workflows/integration.yml
needs:
- linter
with:
ansible_test_targets: >-
[
"kubevirt_vm",
"kubevirt_vm_info",
"inventory_kubevirt"
]