name: CI on: push: branches: - master pull_request: branches: - master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} INVENTREE_SITE_URL: http://localhost:8000 INVENTREE_DB_ENGINE: django.db.backends.sqlite3 INVENTREE_DB_NAME: ../inventree_unit_test_db.sqlite3 INVENTREE_MEDIA_ROOT: ../test_inventree_media INVENTREE_STATIC_ROOT: ../test_inventree_static INVENTREE_BACKUP_DIR: ../test_inventree_backup INVENTREE_ADMIN_USER: testuser INVENTREE_ADMIN_PASSWORD: testpassword INVENTREE_ADMIN_EMAIL: test@test.com jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: submodules: recursive - name: Setup Java uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '11' - name: Setup Flutter and FVM id: fvm-config-action uses: kuhnroyal/flutter-fvm-config-action@v2 - uses: subosito/flutter-action@v2 with: flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" pub-cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" - name: Collect Translation Files run: | cd lib/l10n python3 collect_translations.py - name: Static Analysis Tests run: | python3 find_dart_files.py flutter pub get flutter analyze dart format --output=none --set-exit-if-changed . - name: Install Python uses: actions/setup-python@v4 with: python-version: 3.9 - name: Start InvenTree Server run: | sudo apt-get install python3-dev python3-pip python3-venv python3-wheel g++ pip3 install invoke git clone --depth 1 https://github.com/inventree/inventree ./inventree_server cd inventree_server invoke install invoke migrate invoke dev.import-fixtures invoke dev.server -a 127.0.0.1:8000 & invoke wait sleep 30 - name: Unit Tests run: | flutter test --coverage - name: Coveralls uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }}