github_actions: add windows and functional testing
- add Linux unit testing for Python 3.8 and 3.11 (x64) - add Windows unit testing for Python 3.8 and 3.11 (x64 and x86) - add Windows functional testing for Python 3.11 (x64 and x86) Change-Id: If4ca5a10f62e320c598f0bac7e1ec2ec52862c21
This commit is contained in:
parent
6b2372d169
commit
07cae6e8c7
94
.github/workflows/cloudbase_init_tests.yml
vendored
Normal file
94
.github/workflows/cloudbase_init_tests.yml
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
name: Cloudbase-Init tests
|
||||
|
||||
env:
|
||||
UPPER_CONSTRAINTS: "https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt"
|
||||
TEST_RESOURCES: "https://github.com/cloudbase/cloudbase-init-test-resources"
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
linux-unit-tests:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: [ "3.11"]
|
||||
architecture: ["x64"]
|
||||
|
||||
steps:
|
||||
- name: Checkout cloudbase-init repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
architecture: ${{ matrix.architecture }}
|
||||
- name: Install python3 tox
|
||||
shell: bash
|
||||
run: |
|
||||
python3 -m pip install tox setuptools --upgrade
|
||||
- name: Run Cloudbase-Init unit tests with tox
|
||||
shell: bash
|
||||
run: |
|
||||
tox run-parallel -e py3,pep8,cover,docs
|
||||
windows-unit-tests:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [ "3.8", "3.11"]
|
||||
architecture: ["x64", "x86"]
|
||||
|
||||
steps:
|
||||
- name: Checkout cloudbase-init repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
architecture: ${{ matrix.architecture }}
|
||||
- name: Install python3 tox
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install tox setuptools --upgrade
|
||||
- name: Run Cloudbase-Init unit tests with tox
|
||||
shell: cmd
|
||||
run: |
|
||||
tox run-parallel -e py3,pep8
|
||||
windows-functional-tests:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: [ "3.11"]
|
||||
architecture: ["x64", "x86"]
|
||||
cloud: ["empty"]
|
||||
|
||||
steps:
|
||||
- name: Checkout cloudbase-init repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
architecture: ${{ matrix.architecture }}
|
||||
- name: Download external dependencies
|
||||
shell: cmd
|
||||
run: |
|
||||
git clone %TEST_RESOURCES% test-resources
|
||||
python -W ignore -m pip install --upgrade pip
|
||||
- name: Install Cloudbase-Init
|
||||
shell: cmd
|
||||
run: |
|
||||
python -W ignore -m pip install -c %UPPER_CONSTRAINTS% -U --force-reinstall -r requirements.txt
|
||||
python -W ignore -m pip install .
|
||||
- name: Run Cloudbase-Init functional tests
|
||||
shell: powershell
|
||||
run: |
|
||||
try {
|
||||
& cmd /c "cloudbase-init.exe --noreset_service_password --config-file ./test-resources/${{ matrix.cloud }}/cloudbase-init.conf 2>&1" | Tee-Object -FilePath cloudbase-init.log
|
||||
} catch {}
|
||||
$errors = $(cat ./cloudbase-init.log | Where-Object {$_ -like "*error*"})
|
||||
$pluginExecution = $(cat ./cloudbase-init.log | Where-Object {$_ -like "*Plugins execution done*"})
|
||||
if ($errors -or !$pluginExecution) {
|
||||
exit 1
|
||||
}
|
28
.github/workflows/unit_tests.yml
vendored
28
.github/workflows/unit_tests.yml
vendored
@ -1,28 +0,0 @@
|
||||
name: Cloudbase-Init unit tests
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.8","3.9","3.10", "3.11"]
|
||||
architecture: ["x64"]
|
||||
|
||||
steps:
|
||||
- name: Checkout cloudbase-init repository
|
||||
uses: actions/checkout@v3
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
architecture: ${{ matrix.architecture }}
|
||||
- name: Install python3 tox
|
||||
shell: bash
|
||||
run: |
|
||||
python3 -m pip install tox
|
||||
- name: Run Cloudbase-Init unit tests with tox
|
||||
shell: bash
|
||||
run: |
|
||||
tox run-parallel -e py3,pep8,cover,docs -v
|
@ -1,3 +1,3 @@
|
||||
[DEFAULT]
|
||||
test_path=${OS_TEST_PATH:-./cloudbaseinit/tests}
|
||||
test_path=./cloudbaseinit/tests
|
||||
top_dir=./
|
||||
|
Loading…
x
Reference in New Issue
Block a user