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

Commit

Permalink
ci: use prerelease logic (#172)
Browse files Browse the repository at this point in the history
  • Loading branch information
ReenigneArcher authored May 22, 2024
1 parent 889efab commit 640b134
Show file tree
Hide file tree
Showing 8 changed files with 110 additions and 92 deletions.
103 changes: 79 additions & 24 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,16 @@ on:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true

jobs:
setup_release:
name: Setup Release
outputs:
changelog_changes: ${{ steps.setup_release.outputs.changelog_changes }}
changelog_date: ${{ steps.setup_release.outputs.changelog_date }}
changelog_exists: ${{ steps.setup_release.outputs.changelog_exists }}
changelog_release_exists: ${{ steps.setup_release.outputs.changelog_release_exists }}
changelog_url: ${{ steps.setup_release.outputs.changelog_url }}
changelog_version: ${{ steps.setup_release.outputs.changelog_version }}
publish_pre_release: ${{ steps.setup_release.outputs.publish_pre_release }}
publish_release: ${{ steps.setup_release.outputs.publish_release }}
publish_stable_release: ${{ steps.setup_release.outputs.publish_stable_release }}
release_body: ${{ steps.setup_release.outputs.release_body }}
release_build: ${{ steps.setup_release.outputs.release_build }}
release_commit: ${{ steps.setup_release.outputs.release_commit }}
release_generate_release_notes: ${{ steps.setup_release.outputs.release_generate_release_notes }}
release_tag: ${{ steps.setup_release.outputs.release_tag }}
release_version: ${{ steps.setup_release.outputs.release_version }}
runs-on: ubuntu-latest
Expand All @@ -39,7 +29,7 @@ jobs:

- name: Setup Release
id: setup_release
uses: LizardByte/setup-release-action@v2023.1210.1904
uses: LizardByte/setup-release-action@v2024.520.193857
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -54,8 +44,8 @@ jobs:
with:
path: Plugger.bundle

- name: Install Python
uses: LizardByte/setup-python-action@v2023.1210.35516
- name: Set up Python
uses: LizardByte/setup-python-action@v2024.515.10401
with:
python-version: '2.7'

Expand All @@ -73,25 +63,25 @@ jobs:
python -m pip install --upgrade --target=./Contents/Libraries/Shared -r \
requirements.txt --no-warn-script-location
- name: Compile Locale Translations
working-directory: Plugger.bundle
run: |
python ./scripts/_locale.py --compile
- name: Install npm packages
working-directory: Plugger.bundle
run: |
npm install
mv ./node_modules ./Contents/Resources/web
- name: Build plist
shell: bash
working-directory: Plugger.bundle
env:
BUILD_VERSION: ${{ needs.setup_release.outputs.release_tag }}
run: |
python ./scripts/build_plist.py
- name: Test Plex Plugin
# todo - replace with pytest
working-directory: Plugger.bundle
run: |
python ./Contents/Code/__init__.py
- name: Package Release
shell: bash
run: |
Expand All @@ -102,6 +92,8 @@ jobs:
"-xr!plexhints*" \
"-xr!Plugger.bundle/.*" \
"-xr!Plugger.bundle/cache.sqlite" \
"-xr!Plugger.bundle/codecov.yml" \
"-xr!Plugger.bundle/crowdin.yml" \
"-xr!Plugger.bundle/DOCKER_README.md" \
"-xr!Plugger.bundle/Dockerfile" \
"-xr!Plugger.bundle/docs" \
Expand All @@ -122,14 +114,77 @@ jobs:
- name: Create/Update GitHub Release
if: ${{ needs.setup_release.outputs.publish_release == 'true' }}
uses: LizardByte/create-release-action@v2023.1210.832
uses: LizardByte/create-release-action@v2024.520.193838
with:
allowUpdates: true
body: ''
discussionCategory: announcements
generateReleaseNotes: true
name: ${{ needs.setup_release.outputs.release_tag }}
# use pre-release for now
prerelease: true # ${{ needs.setup_release.outputs.publish_pre_release }}
prerelease: true
tag: ${{ needs.setup_release.outputs.release_tag }}
token: ${{ secrets.GH_BOT_TOKEN }}

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@v4
with:
name: Plugger.bundle

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

- 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 --no-build-isolation \
-r requirements-dev.txt
- name: Test with pytest
id: test
shell: bash
run: |
python -m pytest \
-rxXs \
--tb=native \
--verbose \
--cov=Contents/Code \
tests
- name: Upload coverage
# any except canceled or skipped
if: >-
always() &&
(steps.test.outcome == 'success' || steps.test.outcome == 'failure') &&
startsWith(github.repository, 'LizardByte/')
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
flags: ${{ runner.os }}
token: ${{ secrets.CODECOV_TOKEN }}
25 changes: 7 additions & 18 deletions .github/workflows/ci-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ on:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true

jobs:
Expand Down Expand Up @@ -102,19 +102,9 @@ jobs:
needs:
- check_dockerfiles
outputs:
changelog_changes: ${{ steps.setup_release.outputs.changelog_changes }}
changelog_date: ${{ steps.setup_release.outputs.changelog_date }}
changelog_exists: ${{ steps.setup_release.outputs.changelog_exists }}
changelog_release_exists: ${{ steps.setup_release.outputs.changelog_release_exists }}
changelog_url: ${{ steps.setup_release.outputs.changelog_url }}
changelog_version: ${{ steps.setup_release.outputs.changelog_version }}
publish_pre_release: ${{ steps.setup_release.outputs.publish_pre_release }}
publish_release: ${{ steps.setup_release.outputs.publish_release }}
publish_stable_release: ${{ steps.setup_release.outputs.publish_stable_release }}
release_body: ${{ steps.setup_release.outputs.release_body }}
release_build: ${{ steps.setup_release.outputs.release_build }}
release_commit: ${{ steps.setup_release.outputs.release_commit }}
release_generate_release_notes: ${{ steps.setup_release.outputs.release_generate_release_notes }}
release_tag: ${{ steps.setup_release.outputs.release_tag }}
release_version: ${{ steps.setup_release.outputs.release_version }}
runs-on: ubuntu-latest
Expand All @@ -124,7 +114,7 @@ jobs:

- name: Setup Release
id: setup_release
uses: LizardByte/setup-release-action@v2023.1210.1904
uses: LizardByte/setup-release-action@v2024.520.181643
with:
dotnet: ${{ needs.check_dockerfiles.outputs.dotnet }}
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -171,7 +161,7 @@ jobs:

steps:
- name: Maximize build space
uses: easimon/maximize-build-space@v8
uses: easimon/maximize-build-space@v10
with:
root-reserve-mb: 30720 # https://github.com/easimon/maximize-build-space#caveats
remove-dotnet: 'true'
Expand Down Expand Up @@ -287,7 +277,7 @@ jobs:
id: buildx

- name: Cache Docker Layers
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: Docker-buildx${{ matrix.tag }}-${{ github.sha }}
Expand Down Expand Up @@ -373,21 +363,20 @@ jobs:

- name: Create/Update GitHub Release
if: ${{ needs.setup_release.outputs.publish_release == 'true' && steps.prepare.outputs.artifacts == 'true' }}
uses: LizardByte/create-release-action@v2023.1210.832
uses: LizardByte/create-release-action@v2024.520.180003
with:
allowUpdates: true
artifacts: "*artifacts/*"
body: ''
discussionCategory: announcements
generateReleaseNotes: true
name: ${{ needs.setup_release.outputs.release_tag }}
prerelease: ${{ needs.setup_release.outputs.publish_pre_release }}
prerelease: true
tag: ${{ needs.setup_release.outputs.release_tag }}
token: ${{ secrets.GH_BOT_TOKEN }}

- name: Update Docker Hub Description
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
uses: peter-evans/dockerhub-description@v3
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }} # token is not currently supported
Expand Down
38 changes: 0 additions & 38 deletions .github/workflows/python-tests.yml

This file was deleted.

14 changes: 3 additions & 11 deletions DOCKER_README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### lizardbyte/plugger

This is a [docker-mod](https://linuxserver.github.io/docker-mods/) for
[plex](https://hub.docker.com/r/linuxserver/plex) which adds
[plex](https://hub.docker.com/r/linuxserver/plex) that adds
[Plugger](https://github.com/LizardByte/Plugger) to plex as a plugin,
to be downloaded/updated during container start.

Expand All @@ -17,13 +17,5 @@ If adding multiple mods, enter them in an array separated by `|`, such as

### Supported Architectures

Specifying `lizardbyte/plugger:latest` or `ghcr.io/lizardbyte/plugger:latest`
should retrieve the correct image for your architecture.

The architectures supported by this image are:

| Architecture | Available |
|:------------:|:---------:|
| x86-64 ||
| arm64 ||
| armhf ||
Linuxserver.io docker mods do not support multi-arch images; however this image should run on any architecture. If
you have issues with this image on a specific architecture, please open an issue on GitHub.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1.4
# artifacts: false
# platforms: linux/amd64,linux/arm64/v8,linux/arm/v7
# platforms: linux/amd64
FROM ubuntu:22.04 AS buildstage

# build args
Expand Down
4 changes: 4 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ Integrations
:alt: Read the Docs
:target: http://plugger.readthedocs.io/

.. image:: https://img.shields.io/codecov/c/gh/LizardByte/Plugger?token=LID1Y7IEKI&style=for-the-badge&logo=codecov&label=codecov
:alt: Codecov
:target: https://codecov.io/gh/LizardByte/Plugger

Downloads
---------

Expand Down
15 changes: 15 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
codecov:
branch: master

coverage:
status:
project:
default:
target: auto
threshold: 10%

comment:
layout: "diff, flags, files"
behavior: default
require_changes: false # if true: only post the comment if coverage changes
1 change: 1 addition & 0 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ m2r2==0.3.2;python_version<"3"
numpydoc==0.9.2;python_version<"3"
plexhints==2024.129.31313 # type hinting library for plex development
pytest==4.6.11;python_version<"3"
pytest-cov==2.12.1;python_version<"3"
rstcheck==3.5.0;python_version<"3"
Sphinx==1.8.6;python_version<"3"
sphinx-rtd-theme==1.2.0;python_version<"3"

0 comments on commit 640b134

Please sign in to comment.