Skip to content
This repository has been archived by the owner on Oct 13, 2024. It is now read-only.

Commit

Permalink
Merge pull request #129 from LizardByte/nightly
Browse files Browse the repository at this point in the history
v0.3.0
  • Loading branch information
ReenigneArcher authored Nov 30, 2023
2 parents 0162116 + f94afde commit 3674eda
Show file tree
Hide file tree
Showing 99 changed files with 5,525 additions and 623 deletions.
6 changes: 0 additions & 6 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,39 @@ updates:
schedule:
interval: "daily"
time: "08:00"
target-branch: "nightly"
open-pull-requests-limit: 10

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "08:30"
target-branch: "nightly"
open-pull-requests-limit: 10

- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
time: "09:00"
target-branch: "nightly"
open-pull-requests-limit: 10

- package-ecosystem: "nuget"
directory: "/"
schedule:
interval: "daily"
time: "09:30"
target-branch: "nightly"
open-pull-requests-limit: 10

- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
time: "10:00"
target-branch: "nightly"
open-pull-requests-limit: 10

- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
interval: "daily"
time: "10:30"
target-branch: "nightly"
open-pull-requests-limit: 10
158 changes: 128 additions & 30 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Verify Changelog
id: verify_changelog
Expand All @@ -39,14 +39,17 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: Themerr-plex.bundle

- name: Install Python 2.7
uses: LizardByte/.github/actions/setup_python2@nightly
- name: Set up Python
uses: LizardByte/[email protected]
with:
python-version: '2.7'

- name: Set up Python 2.7 Dependencies
- name: Set up Python Dependencies
shell: bash
working-directory: Themerr-plex.bundle
run: |
echo "Installing Requirements"
Expand All @@ -59,40 +62,30 @@ jobs:
python -m pip install --upgrade --target=./Contents/Libraries/Shared -r \
requirements.txt --no-warn-script-location
- name: Patch python deps
shell: bash
working-directory: Themerr-plex.bundle/Contents/Libraries/Shared
run: |
patch_dir=${{ github.workspace }}/Themerr-plex.bundle/patches
patch -p1 < "${patch_dir}/youtube_dl-compat.patch"
patch -p1 < "${patch_dir}/youtube_dl-extractor.patch"
- name: Install npm packages
working-directory: Themerr-plex.bundle
run: |
npm install
mv ./node_modules ./Contents/Resources/web
- name: Build plist
shell: bash
working-directory: Themerr-plex.bundle
env:
BUILD_VERSION: ${{ needs.check_changelog.outputs.next_version }}
run: |
python ./scripts/build_plist.py
- name: Test Plex Plugin
working-directory: Themerr-plex.bundle
run: |
python ./Contents/Code/__init__.py
- name: Upload Artifacts
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
uses: actions/upload-artifact@v3
with:
name: Themerr-plex.bundle
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
path: |
${{ github.workspace }}
!**/*.git*
!**/*.pyc
!**/__pycache__
!**/plexhints*
!**/Themerr-plex.bundle/.*
!**/Themerr-plex.bundle/cache.sqlite
!**/Themerr-plex.bundle/DOCKER_README.md
!**/Themerr-plex.bundle/Dockerfile
!**/Themerr-plex.bundle/docs
!**/Themerr-plex.bundle/scripts
- name: Package Release
shell: bash
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
run: |
7z \
"-xr!*.git*" \
Expand All @@ -101,16 +94,27 @@ jobs:
"-xr!plexhints*" \
"-xr!Themerr-plex.bundle/.*" \
"-xr!Themerr-plex.bundle/cache.sqlite" \
"-xr!Themerr-plex.bundle/codecov.yml" \
"-xr!Themerr-plex.bundle/crowdin.yml" \
"-xr!Themerr-plex.bundle/DOCKER_README.md" \
"-xr!Themerr-plex.bundle/Dockerfile" \
"-xr!Themerr-plex.bundle/docs" \
"-xr!Themerr-plex.bundle/patches" \
"-xr!Themerr-plex.bundle/scripts" \
"-xr!Themerr-plex.bundle/tests" \
a "./Themerr-plex.bundle.zip" "Themerr-plex.bundle"
mkdir artifacts
mv ./Themerr-plex.bundle.zip ./artifacts/
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: Themerr-plex.bundle
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
path: |
${{ github.workspace }}/artifacts
- name: Create Release
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
uses: LizardByte/.github/actions/create_release@master
Expand All @@ -119,3 +123,97 @@ jobs:
next_version: ${{ needs.check_changelog.outputs.next_version }}
last_version: ${{ needs.check_changelog.outputs.last_version }}
release_body: ${{ needs.check_changelog.outputs.release_body }}

pytest:
needs: [build]
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]

runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: Themerr-plex.bundle

- name: Extract artifacts zip
shell: bash
run: |
# extract zip
7z x Themerr-plex.bundle.zip -o.
# move all files from "Themerr-plex.bundle" to root, with no target directory
cp -r ./Themerr-plex.bundle/. .
# remove zip
rm Themerr-plex.bundle.zip
- name: Set up Python
uses: LizardByte/[email protected]
with:
python-version: '2.7'

- name: Bootstrap Plex server
env:
PLEXAPI_PLEXAPI_TIMEOUT: "60"
id: bootstrap
uses: LizardByte/[email protected]
with:
additional_server_queries_put: >-
/system/agents/com.plexapp.agents.imdb/config/1?order=com.plexapp.agents.imdb%2Cdev.lizardbyte.themerr-plex
/system/agents/com.plexapp.agents.themoviedb/config/1?order=com.plexapp.agents.themoviedb%2Cdev.lizardbyte.themerr-plex
plugin_bundles_to_install: >-
Themerr-plex.bundle
without_shows: true
without_music: true
without_photos: true

- name: Install python dependencies
shell: bash
run: |
python -m pip --no-python-version-warning --disable-pip-version-check install --upgrade \
pip setuptools wheel
python -m pip --no-python-version-warning --disable-pip-version-check install -r requirements-dev.txt
- name: Test with pytest
env:
PLEX_PLUGIN_LOG_PATH: ${{ steps.bootstrap.outputs.PLEX_PLUGIN_LOG_PATH }}
PLEXAPI_AUTH_SERVER_BASEURL: ${{ steps.bootstrap.outputs.PLEX_SERVER_BASEURL }}
PLEXAPI_AUTH_SERVER_TOKEN: ${{ steps.bootstrap.outputs.PLEXTOKEN }}
PLEXAPI_PLEXAPI_TIMEOUT: "60"
PLEXTOKEN: ${{ steps.bootstrap.outputs.PLEXTOKEN }}
id: test
shell: bash
run: |
python -m pytest \
-rxXs \
--maxfail=1 \
--tb=native \
--verbose \
--cov=Contents/Code \
tests
- name: Debug log file
if: always()
shell: bash
run: |
echo "Debugging log file"
if [[ "${{ runner.os }}" == "Windows" ]]; then
log_file=$(cygpath.exe -u \
"${{ steps.bootstrap.outputs.PLEX_PLUGIN_LOG_PATH }}/dev.lizardbyte.themerr-plex.log")
else
log_file="${{ steps.bootstrap.outputs.PLEX_PLUGIN_LOG_PATH }}/dev.lizardbyte.themerr-plex.log"
fi
cat "${log_file}"
- name: Upload coverage
# any except canceled or skipped
if: always() && (steps.test.outcome == 'success' || steps.test.outcome == 'failure')
uses: codecov/codecov-action@v3
with:
flags: ${{ runner.os }}
2 changes: 1 addition & 1 deletion .github/workflows/auto-create-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Create Pull Request
uses: repo-sync/pull-request@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/automerge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
github-token: "${{ secrets.GITHUB_TOKEN }}"

- name: Label autoapproved
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_BOT_TOKEN }}
script: |
Expand Down
72 changes: 0 additions & 72 deletions .github/workflows/autoupdate-labeler.yml

This file was deleted.

Loading

0 comments on commit 3674eda

Please sign in to comment.