mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-04 07:05:41 +00:00 
			
		
		
		
	Merge workflows (#5103)
* merge workflows from https://github.com/inventree/InvenTree/pull/5087 * syntax fix
This commit is contained in:
		
							
								
								
									
										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:
 | 
			
		||||
      server: ${{ steps.filter.outputs.server }}
 | 
			
		||||
      migrations: ${{ steps.filter.outputs.migrations }}
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0
 | 
			
		||||
@@ -39,6 +40,9 @@ jobs:
 | 
			
		||||
            - 'InvenTree/**'
 | 
			
		||||
            - 'requirements.txt'
 | 
			
		||||
            - 'requirements-dev.txt'
 | 
			
		||||
          migrations:
 | 
			
		||||
            - '**/migrations/**'
 | 
			
		||||
            - '.github/workflows**'
 | 
			
		||||
 | 
			
		||||
  pep_style:
 | 
			
		||||
    name: Style [Python]
 | 
			
		||||
@@ -297,3 +301,82 @@ jobs:
 | 
			
		||||
        run: invoke test
 | 
			
		||||
      - name: Data Export Test
 | 
			
		||||
        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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user