feat: add support for Pebble check-failed and check-recovered events #2701
Workflow file for this run
This file contains 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: ops Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_call: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install tox | |
run: pip install tox~=4.2 | |
- name: Run linting | |
run: tox -e lint | |
static: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3 | |
uses: actions/setup-python@v5 | |
- name: Install tox | |
run: pip install tox~=4.2 | |
- name: Run static type checks | |
run: tox -e static | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.8", "3.10"] | |
exclude: | |
- {python-version: "3.8", os: "macos-latest"} # macos-14 is arm64, and there's no Python 3.8 build for arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install tox | |
run: pip install tox~=4.2 | |
- name: Run unit tests | |
run: tox -e unit | |
test-real-pebble: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.8", "3.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Set up Go 1.20 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.20" | |
- name: Install tox | |
run: pip install tox~=4.2 | |
- name: Install Pebble | |
run: go install github.com/canonical/pebble/cmd/pebble@master | |
- name: Start Pebble | |
run: | | |
umask 0 | |
$HOME/go/bin/pebble run --create-dirs --http=:4000 & | |
env: | |
PEBBLE: /tmp/pebble | |
- name: Run Real pebble tests | |
run: tox -e unit -- test/test_real_pebble.py | |
env: | |
RUN_REAL_PEBBLE_TESTS: 1 | |
PEBBLE: /tmp/pebble | |
pip-install: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
exclude: | |
- {python-version: "3.8", os: "macos-latest"} # macos-14 is arm64, and there's no Python 3.8 build for arm64 | |
- {python-version: "3.9", os: "macos-latest"} # macos-14 is arm64, and there's no Python 3.9 build for arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install build dependencies | |
run: pip install wheel build | |
- name: Build | |
run: python -m build | |
# Test that a pip install of the source dist .tar.gz will work | |
- name: Test 'pip install' | |
# Shouldn't happen, but pip install will fail if ls returns multiple lines | |
run: pip install $(ls dist/ops*.gz) |