Skip to content

Use Python dependency cache #254

Use Python dependency cache

Use Python dependency cache #254

Workflow file for this run

name: build
on:
push:
release:
types: [created, published]
env:
python_version: '3.12'
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-22.04
container: fedora:39
timeout-minutes: 30
permissions:
contents: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- name: Install Linux Dependencies
run: >
dnf install -y gcc git graphviz pkg-config python-launcher upx
mutter dbus-x11 gtk4 gobject-introspection-devel
cairo-gobject-devel gtksourceview5-devel libadwaita-devel cairo-devel
python${{ env.python_version }}-devel
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set ownership of checkout directory
run: chown -R $(id -u):$(id -g) $PWD
- name: Use Python Dependency Cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ~/.cache/pip
key: python${{ env.python_version }}-${{ hashFiles('**/poetry.lock') }}-39
- name: Set up Python ${{ env.python_version }}
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
with:
python-version: ${{ env.python_version }}
- name: Install Poetry
run: |
python${{ env.python_version }} -m ensurepip
python${{ env.python_version }} -m pip install --constraint=.github/constraints.txt poetry
- name: Configure Poetry
run: poetry config virtualenvs.in-project true
- name: Install Python Dependencies
run: |
poetry lock --no-update
poetry install --no-interaction
- name: Install settings schemas
run: poetry run gaphor install-schemas
- name: Run Tests
env:
XDG_RUNTIME_DIR: /tmp
run: |
eval $(dbus-launch --auto-syntax)
mutter --wayland --no-x11 --sm-disable --headless -- poetry run pytest