Bump certifi from 2022.12.7 to 2023.7.22 #450
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: CI | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
jobs: | |
format: | |
name: Ensure code is properly formatted | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- run: | | |
pip install --upgrade poetry nox nox-poetry | |
nox -s format -- --check | |
ci: | |
name: Run the integration tests | |
runs-on: ${{ matrix.os_version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os_version: ["ubuntu-latest"] | |
python_version: ["3.7", "3.8", "3.9", "3.10", "3.11"] | |
container_runtime: ["podman", "docker"] | |
update_runtime: [ true, false ] | |
include: | |
# there's no podman repo for ubuntu 20.04 in devel:kubic | |
- os_version: "ubuntu-20.04" | |
python_version: "3.6" | |
container_runtime: "podman" | |
update_runtime: false | |
- os_version: "ubuntu-20.04" | |
python_version: "3.6" | |
container_runtime: "docker" | |
update_runtime: false | |
exclude: | |
- os_version: "ubuntu-latest" | |
container_runtime: "docker" | |
python_version: "3.7" | |
update_runtime: true | |
- os_version: "ubuntu-latest" | |
container_runtime: "docker" | |
python_version: "3.8" | |
update_runtime: true | |
- os_version: "ubuntu-latest" | |
container_runtime: "docker" | |
python_version: "3.9" | |
update_runtime: true | |
- os_version: "ubuntu-latest" | |
container_runtime: "docker" | |
python_version: "3.10" | |
update_runtime: true | |
- os_version: "ubuntu-latest" | |
container_runtime: "docker" | |
python_version: "3.11" | |
update_runtime: true | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python_version }} | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.tox | |
key: tox-${{ matrix.python_version }}-${{ hashFiles('poetry.lock') }} | |
- run: pip install --upgrade nox poetry nox-poetry | |
- name: update the container runtime | |
if: ${{ matrix.update_runtime }} | |
run: | | |
sudo mkdir -p /etc/apt/keyrings | |
curl -fsSL https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/xUbuntu_$(lsb_release -rs)/Release.key \ | |
| gpg --dearmor \ | |
| sudo tee /etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg > /dev/null | |
echo \ | |
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg]\ | |
https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/xUbuntu_$(lsb_release -rs)/ /" \ | |
| sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:unstable.list > /dev/null | |
sudo apt-get update -qq | |
sudo apt-get -qq -y install podman buildah | |
- run: | | |
export CUR_USER="$(whoami)" | |
sudo loginctl enable-linger ${CUR_USER} | |
- run: | | |
mkdir ./tmp/ | |
chmod 1777 ./tmp | |
export TMPDIR="$(pwd)/tmp" | |
nox -s "test-${{ matrix.python_version }}(${{ matrix.container_runtime }})" -- -x -n auto --reruns 3 --pytest-container-log-level DEBUG | |
nox -s "test-${{ matrix.python_version }}(${{ matrix.container_runtime }})" -- -x --reruns 3 --pytest-container-log-level DEBUG | |
nox -s coverage | |
- name: verify that no stray containers are left | |
run: | | |
[[ $(${{ matrix.container_runtime }} ps -aq|wc -l) = "0" ]] | |
- name: verify that no stray volumes are left | |
run: | | |
[[ $(${{ matrix.container_runtime }} volume ls -q|wc -l) = "0" ]] | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
fail_ci_if_error: true | |
build: | |
name: Build the package | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Run the build | |
run: | | |
pip install --upgrade poetry | |
poetry install | |
poetry build | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: wheel | |
path: dist/pytest_container*whl | |
if-no-files-found: error | |
install: | |
name: Install the package | |
runs-on: ${{ matrix.os_version }} | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
os_version: ["ubuntu-latest"] | |
python_version: ["3.7", "3.8", "3.9", "3.10", "3.11"] | |
include: | |
- os_version: "ubuntu-20.04" | |
python_version: "3.6" | |
steps: | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python_version }} | |
- uses: actions/download-artifact@v3 | |
with: | |
name: wheel | |
path: dist | |
- name: install the wheel | |
run: pip install --user dist/pytest_container*whl | |
- name: run a smoke test that the package has been installed | |
run: python -c "import pytest_container; print (pytest_container.__name__)" | |
documentation: | |
name: Build the documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.tox | |
key: tox-${{ hashFiles('poetry.lock') }} | |
- run: pip install --upgrade nox poetry nox-poetry | |
- run: nox -s doc | |
- name: upload the build directory | |
uses: actions/upload-artifact@v3 | |
with: | |
name: build | |
path: ./build/html | |
deploy: | |
name: deploy to the gh-pages branch | |
runs-on: ubuntu-latest | |
needs: documentation | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: build | |
path: ./build | |
- run: touch ./build/.nojekyll | |
- name: deploy to github pages | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
branch: gh-pages | |
folder: build | |
lint: | |
name: Lint the source code | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.tox | |
key: tox-${{ hashFiles('poetry.lock') }} | |
- run: pip install --upgrade nox poetry nox-poetry | |
- run: nox -s lint |