mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-03-26 21:33:02 +00:00
* Fix apply on Ansible 2.9 For some reason the apply function can't be correctly imported in Ansible 2.9. This just renames it to get it to import. I've also added molecule testing on multiple Ansible versions. * Add changelog fragment
142 lines
4.7 KiB
YAML
142 lines
4.7 KiB
YAML
---
|
|
name: CI
|
|
'on':
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
schedule:
|
|
- cron: '0 6 * * *'
|
|
|
|
jobs:
|
|
|
|
sanity:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python_version: ['3.7']
|
|
ansible_version: ['stable-2.11', 'stable-2.10', 'stable-2.9', 'devel']
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: ansible_collections/kubernetes/core
|
|
|
|
- name: Set up Python ${{ matrix.python_version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
|
|
- name: Check ansible version
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: ansible/ansible
|
|
ref: ${{ matrix.ansible_version }}
|
|
path: ansible_collections/kubernetes/core/ansible
|
|
|
|
- name: Run sanity tests on Python ${{ matrix.python_version }}
|
|
run: source ./ansible/hacking/env-setup && make test-sanity PYTHON_VERSION=${{ matrix.python_version }}
|
|
working-directory: ./ansible_collections/kubernetes/core
|
|
|
|
integration:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
# Our old integration tests fail under newer Python versions.
|
|
python_version: ['3.6']
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: ansible_collections/kubernetes/core
|
|
|
|
- name: Set up Python ${{ matrix.python_version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
|
|
- name: Install ansible base (devel branch)
|
|
run: pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
|
|
|
|
- name: Run integration tests on Python ${{ matrix.python_version }}
|
|
run: make test-integration PYTHON_VERSION=${{ matrix.python_version }}
|
|
working-directory: ./ansible_collections/kubernetes/core
|
|
|
|
- name: Generate coverage report.
|
|
run: ansible-test coverage xml -v --requirements --group-by command --group-by version
|
|
working-directory: ./ansible_collections/kubernetes/core
|
|
|
|
- uses: codecov/codecov-action@v1
|
|
with:
|
|
fail_ci_if_error: false
|
|
|
|
molecule:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python_version: ['3.7']
|
|
ansible_version: ['==2.9.*', '==2.10.*', '']
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: ansible_collections/kubernetes/core
|
|
|
|
- name: Set up KinD cluster
|
|
uses: engineerd/setup-kind@v0.5.0
|
|
|
|
- name: Set up Python ${{ matrix.python_version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
|
|
# The 3.3.0 release of molecule introduced a breaking change. See
|
|
# https://github.com/ansible-community/molecule/issues/3083
|
|
- name: Install molecule and kubernetes dependencies
|
|
run: pip install ansible${{ matrix.ansible_version }} "molecule<3.3.0" yamllint kubernetes flake8 jsonpatch
|
|
|
|
# The latest release doesn't work with Molecule currently.
|
|
# See: https://github.com/ansible-community/molecule/issues/2757
|
|
# - name: Install ansible base, latest release.
|
|
# run: |
|
|
# pip uninstall -y ansible
|
|
# pip install --pre ansible-base
|
|
|
|
# The devel branch doesn't work with Molecule currently.
|
|
# See: https://github.com/ansible-community/molecule/issues/2757
|
|
# - name: Install ansible base (devel branch)
|
|
# run: |
|
|
# pip uninstall -y ansible
|
|
# pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
|
|
- name: Create default collection path symlink
|
|
run: |
|
|
mkdir -p /home/runner/.ansible
|
|
ln -s /home/runner/work/kubernetes/kubernetes /home/runner/.ansible/collections
|
|
|
|
- name: Run molecule default test scenario
|
|
run: make test-molecule
|
|
working-directory: ./ansible_collections/kubernetes/core
|
|
|
|
unit:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python_version: ['3.7']
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: ansible_collections/kubernetes/core
|
|
|
|
- name: Set up Python ${{ matrix.python_version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
|
|
- name: Install ansible base (devel branch)
|
|
run: pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
|
|
|
|
- name: Run unit tests on Python ${{ matrix.python_version }}
|
|
run: make test-unit PYTHON_VERSION=${{ matrix.python_version }}
|
|
working-directory: ./ansible_collections/kubernetes/core
|