Pinning marshmallow #51
This file contains hidden or 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
| name: Test Suite | |
| on: | |
| - pull_request | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v3 | |
| - name: Setup Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.9' | |
| - name: Install Tox | |
| run: pip install tox | |
| - name: Run lint | |
| run: tox -e lint | |
| unit-and-func-tests: | |
| name: Unit, & Functional Tests | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| matrix: | |
| python: ['3.8', '3.9', '3.10', '3.11'] | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v3 | |
| - name: Setup Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Install Tox | |
| run: pip install tox | |
| - name: Run unit & functional tests | |
| run: tox -e unit,functional | |
| integration-test: | |
| name: Integration test with LXD | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 40 | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v3 | |
| - name: Setup Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install Dependencies | |
| run: pip install tox | |
| - name: Setup operator environment | |
| uses: charmed-kubernetes/actions-operator@main | |
| with: | |
| provider: lxd | |
| juju-channel: 3.1/stable | |
| - name: Configure LXC for Charmcraft | |
| run: | | |
| lxc --project charmcraft project create local:charmcraft | |
| lxc --project charmcraft profile device add default root disk path=/ pool=default | true | |
| lxc --project charmcraft profile device add default eth0 nic name=eth0 network=lxdbr0 | true | |
| lxc --project charmcraft profile show default | |
| - name: Run integration tests | |
| run: tox -e integration | |
| - name: Setup Debug Artifact Collection | |
| if: ${{ failure() }} | |
| run: mkdir tmp | |
| - name: Collect Charmcraft Logs | |
| if: ${{ failure() }} | |
| run: | | |
| mv $HOME/.local/state/charmcraft/log/* tmp/ | true | |
| - name: Collect Juju Status | |
| if: ${{ failure() }} | |
| run: | | |
| juju status 2>&1 | tee tmp/juju-status.txt | |
| juju-crashdump -s -m controller -a debug-layer -a config -o tmp/ | |
| mv juju-crashdump-* tmp/ | true | |
| - name: Upload debug artifacts | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v3 | |
| with: | |
| name: test-run-artifacts | |
| path: tmp |