Skip to content

refactor: add the ssh key earlier, so that no retry is needed (#264) #711

refactor: add the ssh key earlier, so that no retry is needed (#264)

refactor: add the ssh key earlier, so that no retry is needed (#264) #711

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
workflow_call:
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Run linting and static type checking
run: make lint
unit:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.8", "3.10", "3.12", "3.14"]
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Run unit tests
run: make unit
integration-k8s:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
juju-channel: ["3/stable", "4/stable"]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.juju-channel }}-k8s
cancel-in-progress: true
steps:
- name: Work around https://github.com/canonical/concierge/issues/30
run: |
sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /run/containerd
- name: Check out repo
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install concierge
run: sudo snap install --classic concierge
- name: Prepare Juju
run: sudo concierge prepare --verbose --juju-channel=${{ matrix.juju-channel }} --charmcraft-channel=3.x/stable -p k8s
- name: Pack test charms
run: make pack
- name: Run integration tests
run: make integration-k8s
integration-machine:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
juju-channel: ["3/stable", "4/stable"]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.juju-channel }}-machine
cancel-in-progress: true
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install concierge
run: sudo snap install --classic concierge
- name: Prepare Juju
run: sudo concierge prepare --verbose --juju-channel=${{ matrix.juju-channel }} --charmcraft-channel=3.x/stable -p machine
- name: Pack test charms
run: make pack
- name: Run integration tests
run: make integration-machine