72 lines
2.0 KiB
YAML
72 lines
2.0 KiB
YAML
# This is a basic workflow to help you get started with Actions
|
|
|
|
name: CI
|
|
|
|
# Controls when the workflow will run
|
|
on:
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'guix.scm'
|
|
- 'manifest.scm'
|
|
- 'channels-lock.scm'
|
|
- '.envrc'
|
|
- '.gitignore'
|
|
- 'pre-commit-*.yaml'
|
|
- Dockerfile
|
|
- README.*
|
|
- LICENSE
|
|
- 'sample_settings/**'
|
|
- 'etc/**'
|
|
|
|
push:
|
|
# Sequence of patterns matched against refs/tags
|
|
branches: ["master"]
|
|
paths-ignore:
|
|
- 'guix.scm'
|
|
- 'manifest.scm'
|
|
- 'channels-lock.scm'
|
|
- '.envrc'
|
|
- '.gitignore'
|
|
- 'pre-commit-*.yaml'
|
|
- Dockerfile
|
|
- README.*
|
|
- LICENSE
|
|
- 'sample_settings/**'
|
|
- 'etc/**'
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
jobs:
|
|
run-tests-dev:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: ["3.10", "3.11"]
|
|
poetry-version: ["1.1.12", "1.7.0"]
|
|
os: [ubuntu-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Run image
|
|
uses: abatilo/actions-poetry@v2
|
|
with:
|
|
poetry-version: ${{ matrix.poetry-version }}
|
|
- name: Setup a local virtual environment
|
|
run: |
|
|
poetry config virtualenvs.create true --local
|
|
poetry config virtualenvs.in-project true --local
|
|
- uses: actions/cache@v3
|
|
name: Define a cache for the virtual environment based on the dependencies lock file
|
|
with:
|
|
path: ./.venv
|
|
key: venv-${{ hashFiles('poetry.lock') }}
|
|
- name: Install dependencies
|
|
run: scripts/install_github_actions_dev_dependencies.sh
|
|
- name: Run tests in dev env
|
|
run: scripts/run_pipeline_tests.sh
|