Skip to content

WIP: work on fixing the upgrade order #1187

WIP: work on fixing the upgrade order

WIP: work on fixing the upgrade order #1187

Workflow file for this run

name: Check workflow running linter, unit and functional tests
on:
workflow_call:
workflow_dispatch:
pull_request:
types: [ opened, synchronize, reopened ]
branches: [ master, main ]
paths-ignore:
- '**.md'
- '**.rst'
concurrency:
# We do not want to run multiple jobs for single PR.
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
lint-unit:
name: Lint checkers and Unit tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Run lint checkers
run: tox -e lint
- name: Run unit tests
run: tox -e unit
mocked-plans:
name: Mocked plans tests
needs: lint-unit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Run mocked-plans tests
run: tox -e mocked-plans
snap-build:
name: Build snap package
needs: lint-unit
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install tox
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Setup LXD
uses: canonical/[email protected]
with:
channel: latest/stable
- name: Install snapcraft
run: sudo snap install snapcraft --classic
- name: Build snap
run: snapcraft --use-lxd
- name: Upload the built snap as an artifact
uses: actions/upload-artifact@v4
with:
name: SNAP_FILE
path: charmed-openstack-upgrader_*.snap
func:
name: Functional tests
needs: snap-build
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup Juju 3.4/stable environment
uses: charmed-kubernetes/actions-operator@main
with:
provider: lxd
juju-channel: 3.4/stable
- name: Remove tox install by actions-operator
run: sudo apt remove tox -y
- name: Install tox
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Download snap file artifact
uses: actions/download-artifact@v4
with:
name: SNAP_FILE
- name: Run func tests
run: |
export TEST_SNAP="$(pwd)/$(ls | grep '.*charmed-openstack-upgrader_.*\.snap$')"
echo "$TEST_SNAP"
tox -e func