summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/dependabot.yml8
-rwxr-xr-x.github/scripts/build_test.sh15
-rw-r--r--.github/workflows/ci.yml51
-rw-r--r--.github/workflows/release_beta_to_dev.yaml21
-rw-r--r--.github/workflows/test_bazarr_execution.yml50
5 files changed, 70 insertions, 75 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 98f50e335..507bf3eb4 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -7,4 +7,12 @@ updates:
commit-message:
prefix: "[bot]"
open-pull-requests-limit: 1
+ target-branch: "development"
+ - package-ecosystem: 'github-actions'
+ directory: '/'
+ schedule:
+ interval: 'weekly'
+ commit-message:
+ prefix: "[workflow]"
+ open-pull-requests-limit: 1
target-branch: "development" \ No newline at end of file
diff --git a/.github/scripts/build_test.sh b/.github/scripts/build_test.sh
deleted file mode 100755
index 4e9287fb1..000000000
--- a/.github/scripts/build_test.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/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
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3fd5bad54..962c10c89 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,21 +5,27 @@ on:
branches: [development]
paths:
- frontend/**
+ - bazarr/**
+ - libs/**
+ - bazarr.py
+ - requirements.txt
+ - dev-requirements.txt
- .github/workflows/ci.yml
pull_request:
branches: [development]
+env:
+ UI_DIRECTORY: ./frontend
+ UI_ARTIFACT_NAME: ui
jobs:
Frontend:
runs-on: ubuntu-latest
- env:
- ROOT_DIRECTORY: .
- UI_DIRECTORY: ./frontend
-
steps:
- name: Checkout repository
uses: actions/checkout@v2
+ with:
+ fetch-depth: 1
- name: Cache node_modules
uses: actions/cache@v2
@@ -43,19 +49,44 @@ jobs:
- uses: actions/upload-artifact@v2
with:
- name: "ui"
+ name: ${{ env.UI_ARTIFACT_NAME }}
path: "${{ env.UI_DIRECTORY }}/build"
+ Backend:
+ runs-on: ubuntu-latest
+ needs: Frontend
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 1
+
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: '3.8'
+ - name: Install UI
+ uses: actions/download-artifact@v2
+ with:
+ name: ${{ env.UI_ARTIFACT_NAME }}
+ path: "${{ env.UI_DIRECTORY }}/build"
+
- name: Install Python dependencies
- run: |
- python -m pip install --upgrade pip
- pip install -r '${{ env.ROOT_DIRECTORY }}/requirements.txt'
+ run: pip install -r requirements.txt
- - name: Test Bazarr execution
+ - name: Unit Tests
run: |
- bash '.github/scripts/build_test.sh'
+ python3 bazarr.py &
+ PID=$!
+ sleep 15
+ if kill -s 0 $PID
+ then
+ echo "**** Bazarr launch successful ****"
+ kill $PID
+ exit 0
+ else
+ echo "**** Bazarr launch failed ****"
+ exit 1
+ fi
diff --git a/.github/workflows/release_beta_to_dev.yaml b/.github/workflows/release_beta_to_dev.yaml
index a24dbecef..d371d1f0f 100644
--- a/.github/workflows/release_beta_to_dev.yaml
+++ b/.github/workflows/release_beta_to_dev.yaml
@@ -6,6 +6,7 @@ jobs:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
+ STATUS_WORKFLOW_NAME: "ci.yml"
UI_DIRECTORY: ./frontend
ASSET_DIRECTORY: ./__builds__
FETCH_DEPTH: 15 # Should be enough
@@ -50,7 +51,27 @@ jobs:
run: npm run build
working-directory: ${{ env.UI_DIRECTORY }}
+ # TODO: Wrap this to a standalone plugin
+ - name: Check CI Status
+ id: check_ci
+ shell: bash
+ run: |
+ echo "**** Checking latest status from ${{ env.STATUS_WORKFLOW_NAME }} ****"
+ Raw_Result=$(curl -sSL "https://api.github.com/repos/${{ github.repository }}/actions/workflows/${{ env.STATUS_WORKFLOW_NAME }}/runs?per_page=1&event=push")
+ Result="failed"
+ if [[ $? -eq 0 ]]; then
+ echo $Raw_Result | grep conclusion | grep success > /dev/null 2>&1
+ if [[ $? -eq 0 ]]; then
+ Result="success"
+ fi
+ else
+ echo "**** Error occurred ****"
+ fi
+ echo "**** Status: $Result ****"
+ echo "::set-output name=result::$Result"
+
- name: Create Release (Conditional)
+ if: ${{ steps.check_ci.outputs.result == 'success' }}
run: |
revision_count=$(git rev-list --invert-grep --regexp-ignore-case --extended-regexp --grep="^(Release|no log:).*" $(git describe --tags --abbrev=0)..HEAD --count)
if [[ $revision_count != 0 ]]; then
diff --git a/.github/workflows/test_bazarr_execution.yml b/.github/workflows/test_bazarr_execution.yml
deleted file mode 100644
index fa0243520..000000000
--- a/.github/workflows/test_bazarr_execution.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-name: test_bazarr_execution
-on: workflow_dispatch
-
-jobs:
- Test:
- runs-on: ubuntu-latest
- env:
- ROOT_DIRECTORY: .
- SCRIPTS_DIRECTORY: .github/scripts
- UI_DIRECTORY: ./frontend
- 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 NodeJS
- uses: actions/setup-node@v2
- with:
- node-version: "15.x"
-
- - 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 Python dependencies
- run: |
- python -m pip install --upgrade pip
- pip install -r '${{ env.ROOT_DIRECTORY }}/requirements.txt'
-
- - name: Test Bazarr execution
- run: |
- bash '${{ env.SCRIPTS_DIRECTORY }}/build_test.sh'