Skip to content

CI

CI #18

Workflow file for this run

name: CI
on:
pull_request:
branches:
- main
workflow_dispatch:
jobs:
test:
name: CI on python${{ matrix.python }} via ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-24.04
python: "3.12"
steps:
- uses: actions/checkout@v2
- name: Install packages
run: sudo apt install podman golang-github-containernetworking-plugin-dnsname sqlite3
- name: Create virtualenv
run: python3 -m venv venv
- name: Install
run: ./venv/bin/pip3 install -e .
- name: Set owner for /dev/loop-control
run: sudo chown $(whoami) /dev/loop-control
- name: Configure
run: ./venv/bin/ceph-devstack config set containers.postgres.count 0
- name: Doctor
run: ./venv/bin/ceph-devstack -v doctor --fix
- name: Build
run: ./venv/bin/ceph-devstack -v build
- name: Create
run: ./venv/bin/ceph-devstack -v create
- name: Start
run: ./venv/bin/ceph-devstack -v start
- name: Wait
run: ./venv/bin/ceph-devstack wait teuthology
- name: Dump logs
if: success() || failure()
run: podman logs -f teuthology
- name: Dump job data
if: success() || failure()
run: |
podman cp paddles:/paddles/dev.db /tmp/
sqlite3 /tmp/dev.db ".output stdout" ".mode json" "select * from jobs" | tee /tmp/jobs.json
- name: Upload jobs.json
uses: actions/upload-artifact@v4
with:
name: jobs
path: /tmp/jobs.json
- name: Stop
run: ./venv/bin/ceph-devstack -v stop
- name: Remove
run: ./venv/bin/ceph-devstack -v remove