Merge pull request #447 from ae-utbm/actions

Implemented diff file for CI
This commit is contained in:
Julien Constant 2022-08-26 17:09:13 +02:00 committed by GitHub
commit 69e0550d4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 1 deletions

View File

@ -4,11 +4,16 @@ concurrency: production
on:
push:
branches: [master]
workflow_run:
workflows: [Sith3 CI]
types: [completed]
workflow_dispatch:
jobs:
# Runs only if Unit tests are successful
deployment:
runs-on: ubuntu-latest
if: ${{github.event.workflow_run.conclusion == 'success'}}
environment: production
timeout-minutes: 30
@ -29,6 +34,8 @@ jobs:
username : ${{secrets.USER}}
key: ${{secrets.KEY}}
script_stop: true
# See https://github.com/ae-utbm/sith3/wiki/GitHub-Actions#deployment-action
script: |
export PATH="$HOME/.poetry/bin:$PATH"

View File

@ -1,4 +1,4 @@
name: Unit Testing
name: Sith3 CI
on:
pull_request:
@ -12,36 +12,51 @@ jobs:
steps:
- uses: actions/checkout@v3
# Skip unit testing if no diff on .py files
- name: Check file diff
uses: technote-space/get-diff-action@v6
id: git-diff
with:
PATTERNS: +**/*.+(py)
- name: Set up python
if: steps.git-diff.outputs.diff
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install dependencies
if: steps.git-diff.outputs.diff
run: |
sudo apt-get update
sudo apt-get install gettext libxapian-dev libgraphviz-dev
- name: Install poetry
if: steps.git-diff.outputs.diff
run: |
python -m pip install --upgrade pip
python -m pip install poetry
- name: Checking pyproject.toml syntax
if: steps.git-diff.outputs.diff
run: poetry check
- name: Install project
if: steps.git-diff.outputs.diff
run: poetry install -E testing
- name: Setup xapian index
if: steps.git-diff.outputs.diff
run: |
mkdir -p /dev/shm/search_indexes
ln -s /dev/shm/search_indexes sith/search_indexes
- name: Setup project
if: steps.git-diff.outputs.diff
run: poetry run ./manage.py compilemessages
- name: Launch tests and generate coverage report
if: steps.git-diff.outputs.diff
run: |
poetry run coverage run ./manage.py test
poetry run coverage report