Skip to content

Commit

Permalink
Improve Github workflow
Browse files Browse the repository at this point in the history
- Update `pull_request` triggers types to only ones which correspond to code changes;
- Extract jobs from `default.yml` workflow to re-usable `test.yml` to be able to split default workflow to two workflow with different set of triggers - "schedule" and "pull_request/push"
  • Loading branch information
denys-chura committed Oct 7, 2024
1 parent 39219a5 commit a0efcdc
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 29 deletions.
36 changes: 7 additions & 29 deletions .github/workflows/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,12 @@ on:
push:
branches:
- main
pull_request: {}
schedule:
- cron: '0 14 * * MON'
pull_request:
types:
- opened
- synchronize
- reopened

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python 3.12.5
uses: actions/setup-python@v5
with:
python-version: 3.12.5
- name: Install Python dependencies
run: |
python3 -m venv venv
source ./venv/bin/activate
pip install -U pip
pip install -r ./requirements.txt
- name: Run tests on hooks
run: |
source ./venv/bin/activate
inv test.hooks
- name: Run tests on building project
run: |
source ./venv/bin/activate
cookiecutter --no-input --overwrite-if-exists --output-dir build .
cd build/awesome
cp ./api/.env.example ./api/.env
make api-test
run-checks:
uses: django-stars/backend-skeleton/.github/workflows/test.yml@improve-github-workflow
8 changes: 8 additions & 0 deletions .github/workflows/schedule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Backend Skeleton Scheduled Check
on:
schedule:
- cron: '0 14 * * MON'

jobs:
run-checks:
uses: django-stars/backend-skeleton/.github/workflows/test.yml@improve-github-workflow
32 changes: 32 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Test

on:
workflow_call:

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python 3.12.5
uses: actions/setup-python@v5
with:
python-version: 3.12.5
- name: Install Python dependencies
run: |
python3 -m venv venv
source ./venv/bin/activate
pip install -U pip
pip install -r ./requirements.txt
- name: Run tests on hooks
run: |
source ./venv/bin/activate
inv test.hooks
- name: Run tests on building project
run: |
source ./venv/bin/activate
cookiecutter --no-input --overwrite-if-exists --output-dir build .
cd build/awesome
cp ./api/.env.example ./api/.env
make api-test

0 comments on commit a0efcdc

Please sign in to comment.