mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 12:06:44 +00:00
Merge workflows (#5103)
* merge workflows from https://github.com/inventree/InvenTree/pull/5087 * syntax fix
This commit is contained in:
parent
a83a71b3a3
commit
73e0d03abf
117
.github/workflows/migration_test.yaml
vendored
117
.github/workflows/migration_test.yaml
vendored
@ -1,117 +0,0 @@
|
|||||||
# This workflow ensures that any database migrations apply cleanly to a "production" database
|
|
||||||
# On a PR to master, the workflow will run against a "sample" production database,
|
|
||||||
# which is sitting at the current "master" migration level
|
|
||||||
# On a push to master, the workflow will also commit any migrations to the "production" database
|
|
||||||
|
|
||||||
name: Migration Testing
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
env:
|
|
||||||
python_version: 3.9
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
INVENTREE_MEDIA_ROOT: ../test_inventree_media
|
|
||||||
INVENTREE_STATIC_ROOT: ../test_inventree_static
|
|
||||||
INVENTREE_BACKUP_DIR: ../test_inventree_backup
|
|
||||||
INVENTREE_DEBUG: info
|
|
||||||
INVENTREE_PLUGINS_ENABLED: false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
paths-filter:
|
|
||||||
name: Filter
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
migrations: ${{ steps.filter.outputs.migrations }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0
|
|
||||||
- uses: dorny/paths-filter@v2
|
|
||||||
id: filter
|
|
||||||
with:
|
|
||||||
filters: |
|
|
||||||
migrations:
|
|
||||||
- '**/migrations/**'
|
|
||||||
- '.github/workflows**'
|
|
||||||
|
|
||||||
migration-tests:
|
|
||||||
name: Run Migration Unit Tests
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: paths-filter
|
|
||||||
if: needs.paths-filter.outputs.migrations == 'true'
|
|
||||||
|
|
||||||
env:
|
|
||||||
INVENTREE_DB_ENGINE: django.db.backends.postgresql
|
|
||||||
INVENTREE_DB_NAME: inventree
|
|
||||||
INVENTREE_DB_USER: inventree
|
|
||||||
INVENTREE_DB_PASSWORD: password
|
|
||||||
INVENTREE_DB_HOST: '127.0.0.1'
|
|
||||||
INVENTREE_DB_PORT: 5432
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:14
|
|
||||||
env:
|
|
||||||
POSTGRES_USER: inventree
|
|
||||||
POSTGRES_PASSWORD: password
|
|
||||||
ports:
|
|
||||||
- 5432:5432
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0
|
|
||||||
- name: Environment Setup
|
|
||||||
uses: ./.github/actions/setup
|
|
||||||
with:
|
|
||||||
apt-dependency: gettext poppler-utils libpq-dev
|
|
||||||
pip-dependency: psycopg2
|
|
||||||
dev-install: true
|
|
||||||
update: true
|
|
||||||
- name: Run Tests
|
|
||||||
run: invoke test --migrations --report
|
|
||||||
|
|
||||||
migrations-checks:
|
|
||||||
name: Run Database Migrations
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: paths-filter
|
|
||||||
if: needs.paths-filter.outputs.migrations == 'true'
|
|
||||||
|
|
||||||
env:
|
|
||||||
INVENTREE_DB_ENGINE: sqlite3
|
|
||||||
INVENTREE_DB_NAME: /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
name: Checkout Code
|
|
||||||
- name: Environment Setup
|
|
||||||
uses: ./.github/actions/setup
|
|
||||||
with:
|
|
||||||
install: true
|
|
||||||
- name: Fetch Database
|
|
||||||
run: |
|
|
||||||
git clone --depth 1 https://github.com/inventree/test-db ./test-db
|
|
||||||
|
|
||||||
- name: Latest Database
|
|
||||||
run: |
|
|
||||||
cp test-db/latest.sqlite3 /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
chmod +rw /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
invoke migrate
|
|
||||||
|
|
||||||
- name: 0.10.0 Database
|
|
||||||
run: |
|
|
||||||
rm /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
cp test-db/stable_0.10.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
chmod +rw /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
invoke migrate
|
|
||||||
|
|
||||||
- name: 0.11.0 Database
|
|
||||||
run: |
|
|
||||||
rm /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
cp test-db/stable_0.11.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
chmod +rw /home/runner/work/InvenTree/db.sqlite3
|
|
||||||
invoke migrate
|
|
83
.github/workflows/qc_checks.yaml
vendored
83
.github/workflows/qc_checks.yaml
vendored
@ -28,6 +28,7 @@ jobs:
|
|||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
server: ${{ steps.filter.outputs.server }}
|
server: ${{ steps.filter.outputs.server }}
|
||||||
|
migrations: ${{ steps.filter.outputs.migrations }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0
|
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0
|
||||||
@ -39,6 +40,9 @@ jobs:
|
|||||||
- 'InvenTree/**'
|
- 'InvenTree/**'
|
||||||
- 'requirements.txt'
|
- 'requirements.txt'
|
||||||
- 'requirements-dev.txt'
|
- 'requirements-dev.txt'
|
||||||
|
migrations:
|
||||||
|
- '**/migrations/**'
|
||||||
|
- '.github/workflows**'
|
||||||
|
|
||||||
pep_style:
|
pep_style:
|
||||||
name: Style [Python]
|
name: Style [Python]
|
||||||
@ -297,3 +301,82 @@ jobs:
|
|||||||
run: invoke test
|
run: invoke test
|
||||||
- name: Data Export Test
|
- name: Data Export Test
|
||||||
uses: ./.github/actions/migration
|
uses: ./.github/actions/migration
|
||||||
|
|
||||||
|
migration-tests:
|
||||||
|
name: Run Migration Unit Tests
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: paths-filter
|
||||||
|
if: github.ref == 'refs/heads/master' && needs.paths-filter.outputs.migrations == 'true'
|
||||||
|
|
||||||
|
env:
|
||||||
|
INVENTREE_DB_ENGINE: django.db.backends.postgresql
|
||||||
|
INVENTREE_DB_NAME: inventree
|
||||||
|
INVENTREE_DB_USER: inventree
|
||||||
|
INVENTREE_DB_PASSWORD: password
|
||||||
|
INVENTREE_DB_HOST: '127.0.0.1'
|
||||||
|
INVENTREE_DB_PORT: 5432
|
||||||
|
INVENTREE_DEBUG: info
|
||||||
|
INVENTREE_PLUGINS_ENABLED: false
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:14
|
||||||
|
env:
|
||||||
|
POSTGRES_USER: inventree
|
||||||
|
POSTGRES_PASSWORD: password
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0
|
||||||
|
- name: Environment Setup
|
||||||
|
uses: ./.github/actions/setup
|
||||||
|
with:
|
||||||
|
apt-dependency: gettext poppler-utils libpq-dev
|
||||||
|
pip-dependency: psycopg2
|
||||||
|
dev-install: true
|
||||||
|
update: true
|
||||||
|
- name: Run Tests
|
||||||
|
run: invoke test --migrations --report
|
||||||
|
|
||||||
|
migrations-checks:
|
||||||
|
name: Run Database Migrations
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: paths-filter
|
||||||
|
if: github.ref == 'refs/heads/master' && needs.paths-filter.outputs.migrations == 'true'
|
||||||
|
|
||||||
|
env:
|
||||||
|
INVENTREE_DB_ENGINE: sqlite3
|
||||||
|
INVENTREE_DB_NAME: /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
INVENTREE_DEBUG: info
|
||||||
|
INVENTREE_PLUGINS_ENABLED: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
name: Checkout Code
|
||||||
|
- name: Environment Setup
|
||||||
|
uses: ./.github/actions/setup
|
||||||
|
with:
|
||||||
|
install: true
|
||||||
|
- name: Fetch Database
|
||||||
|
run: git clone --depth 1 https://github.com/inventree/test-db ./test-db
|
||||||
|
|
||||||
|
- name: Latest Database
|
||||||
|
run: |
|
||||||
|
cp test-db/latest.sqlite3 /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
chmod +rw /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
invoke migrate
|
||||||
|
|
||||||
|
- name: 0.10.0 Database
|
||||||
|
run: |
|
||||||
|
rm /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
cp test-db/stable_0.10.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
chmod +rw /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
invoke migrate
|
||||||
|
|
||||||
|
- name: 0.11.0 Database
|
||||||
|
run: |
|
||||||
|
rm /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
cp test-db/stable_0.11.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
chmod +rw /home/runner/work/InvenTree/db.sqlite3
|
||||||
|
invoke migrate
|
||||||
|
Loading…
x
Reference in New Issue
Block a user