diff --git a/.github/workflows/test_bazarr_execution.yml b/.github/workflows/test_bazarr_execution.yml new file mode 100644 index 000000000..1b8e7ef56 --- /dev/null +++ b/.github/workflows/test_bazarr_execution.yml @@ -0,0 +1,66 @@ +name: test_bazarr_execution +on: workflow_dispatch + +jobs: + Release: + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + ROOT_DIRECTORY: . + UI_DIRECTORY: ./frontend + ASSET_DIRECTORY: ./__builds__ + FETCH_DEPTH: 15 # Should be enough + steps: + - name: Validate branch + if: ${{ github.ref != 'refs/heads/development' }} + run: | + echo This action can only be run on development branch, not ${{ github.ref }} + exit 1 + + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: ${{ env.FETCH_DEPTH }} + ref: development + + - name: Setup Git + run: | + git config --global user.name "github-actions" && + git fetch --depth ${{ env.FETCH_DEPTH }} --tags + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: '${{ env.UI_DIRECTORY }}/node_modules' + key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-modules- + + - name: Setup NodeJS + uses: actions/setup-node@v2 + with: + node-version: "15.x" + + - name: Install Global Tools + run: npm install -g release-it auto-changelog + + - name: Install UI Dependencies + run: npm install + working-directory: ${{ env.UI_DIRECTORY }} + + - name: Build UI + run: npm run build + working-directory: ${{ env.UI_DIRECTORY }} + + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: '3.8' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r '${{ env.ROOT_DIRECTORY }}/requirements.txt' + + - name: Test Bazarr execution + run: | + bash '${{ env.ROOT_DIRECTORY }}/scripts/build_test.sh' diff --git a/scripts/build_test.sh b/scripts/build_test.sh new file mode 100644 index 000000000..4e9287fb1 --- /dev/null +++ b/scripts/build_test.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +python3 "${ROOT_DIRECTORY}"/bazarr.py & +PID=$! + +sleep 30 + +if kill -s 0 $PID +then + echo "Bazarr is still running. We'll kill it..." + kill $PID + exit 0 +else + exit 1 +fi \ No newline at end of file