plexer-cli 0.1.4__tar.gz → 0.1.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.github/workflows/release.yml +19 -5
- plexer_cli-0.1.9/Dockerfile +36 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/PKG-INFO +1 -1
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/src/plexer_cli/main.py +1 -1
- plexer_cli-0.1.4/Dockerfile +0 -45
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.github/dependabot.yml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.github/workflows/openssf_scorecard.yml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.github/workflows/run_full_test_suite.yml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.gitignore +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.pre-commit-config.yaml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.python-version +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.tool-versions +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.trivyignore.yaml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.vscode/launch.json +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.vscode/plexer-cli.code-workspace +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/.vscode/settings.json +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/CODE_OF_CONDUCT.md +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/LICENSE +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/README.md +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/SECURITY.md +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/pyproject.toml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/src/plexer_cli/__init__.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/src/plexer_cli/artifact.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/src/plexer_cli/const.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/src/plexer_cli/file_manager.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/src/plexer_cli/metadata.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tests/bootstrap/blank.mkv +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tests/bootstrap/blank.mp4 +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tests/bootstrap/bootstrap_plexer_e2e.sh +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tests/conftest.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tests/test_artifact.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tests/test_file_manager.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tests/test_metadata.py +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/tox.ini +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/trivyignore.yaml +0 -0
- {plexer_cli-0.1.4 → plexer_cli-0.1.9}/uv.lock +0 -0
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
name: Release
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
tag:
|
|
7
|
+
description: 'Tag to release'
|
|
8
|
+
required: true
|
|
9
|
+
default: 'v0.0.1'
|
|
4
10
|
push:
|
|
5
11
|
# run only against version tags
|
|
6
12
|
tags:
|
|
@@ -23,11 +29,19 @@ jobs:
|
|
|
23
29
|
|
|
24
30
|
steps:
|
|
25
31
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
32
|
+
if: ${{ github.event_name == 'push' }}
|
|
26
33
|
with:
|
|
34
|
+
ref: ${{ github.ref_name }}
|
|
35
|
+
fetch-depth: 0
|
|
36
|
+
|
|
37
|
+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
38
|
+
if: ${{ github.event_name == 'workflow_dispatch' }}
|
|
39
|
+
with:
|
|
40
|
+
ref: ${{ github.event.inputs.tag }}
|
|
27
41
|
fetch-depth: 0
|
|
28
42
|
|
|
29
43
|
- name: Install uv
|
|
30
|
-
uses: astral-sh/setup-uv@
|
|
44
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
31
45
|
with:
|
|
32
46
|
enable-cache: true
|
|
33
47
|
|
|
@@ -68,7 +82,7 @@ jobs:
|
|
|
68
82
|
|
|
69
83
|
# Github Release
|
|
70
84
|
- name: Create Github Release
|
|
71
|
-
uses: softprops/action-gh-release@
|
|
85
|
+
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
|
|
72
86
|
with:
|
|
73
87
|
name: ${{ github.ref_name }}
|
|
74
88
|
files: |
|
|
@@ -81,13 +95,13 @@ jobs:
|
|
|
81
95
|
# REF: https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images#publishing-images-to-docker-hub-and-github-packages
|
|
82
96
|
## Uploads to Docker.io and ghcr.io (GitHub Container Registry)
|
|
83
97
|
- name: Log in to Docker Hub
|
|
84
|
-
uses: docker/login-action@
|
|
98
|
+
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
|
|
85
99
|
with:
|
|
86
100
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
87
101
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
88
102
|
|
|
89
103
|
- name: Log in to Github Container registry
|
|
90
|
-
uses: docker/login-action@
|
|
104
|
+
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
|
|
91
105
|
with:
|
|
92
106
|
registry: ghcr.io
|
|
93
107
|
username: ${{ github.actor }}
|
|
@@ -103,7 +117,7 @@ jobs:
|
|
|
103
117
|
|
|
104
118
|
- name: Build and push Docker images to all registries
|
|
105
119
|
id: push
|
|
106
|
-
uses: docker/build-push-action@
|
|
120
|
+
uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
|
|
107
121
|
with:
|
|
108
122
|
context: .
|
|
109
123
|
push: true
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# syntax=docker/dockerfile:1
|
|
2
|
+
|
|
3
|
+
FROM ghcr.io/astral-sh/uv:alpine3.23@sha256:7d1ef166503c3c123a51f17d4eeb4dc748c33ebf4ae3bfad54f1163e1c36afcb AS build
|
|
4
|
+
|
|
5
|
+
WORKDIR /build
|
|
6
|
+
|
|
7
|
+
COPY pyproject.toml uv.lock README.md LICENSE /build/
|
|
8
|
+
RUN mkdir -p /build/src
|
|
9
|
+
COPY src/ /build/src/
|
|
10
|
+
|
|
11
|
+
RUN uv sync --group build
|
|
12
|
+
|
|
13
|
+
RUN apk update && \
|
|
14
|
+
apk add --no-cache libmagic pipx
|
|
15
|
+
|
|
16
|
+
# https://pipx.pypa.io/latest/how-to/pin-packages.html
|
|
17
|
+
RUN pipx install hatch==1.18.1 && pipx pin hatch
|
|
18
|
+
RUN PATH="$PATH:/root/.local/bin" hatch build
|
|
19
|
+
|
|
20
|
+
########################
|
|
21
|
+
|
|
22
|
+
FROM python:3.14-alpine3.23@sha256:e7cff362a12454395f8dc99607c21a602ea880cdce03538877b90c2ba932b16f
|
|
23
|
+
|
|
24
|
+
RUN addgroup --system --gid 1001 plexer && \
|
|
25
|
+
adduser --system --uid 1001 --ingroup plexer plexer
|
|
26
|
+
|
|
27
|
+
COPY --chown=plexer:plexer --from=build /build/dist/ /app/dist/
|
|
28
|
+
|
|
29
|
+
RUN python -m venv /app/venv
|
|
30
|
+
ENV PATH="/app/venv/bin:$PATH"
|
|
31
|
+
RUN pip install /app/dist/plexer_cli-*.whl
|
|
32
|
+
|
|
33
|
+
USER plexer
|
|
34
|
+
|
|
35
|
+
ENTRYPOINT [ "/app/venv/bin/plexer" ]
|
|
36
|
+
CMD [ "--help" ]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: plexer_cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9
|
|
4
4
|
Summary: Normalize media files and directories for use with Plex Media Server
|
|
5
5
|
Project-URL: Repository, https://github.com/magneticstain/plexer
|
|
6
6
|
Project-URL: Documentation, https://github.com/magneticstain/plexer-cli/wiki
|
plexer_cli-0.1.4/Dockerfile
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1
|
|
2
|
-
|
|
3
|
-
FROM ghcr.io/astral-sh/uv:alpine3.23@sha256:7d1ef166503c3c123a51f17d4eeb4dc748c33ebf4ae3bfad54f1163e1c36afcb AS build
|
|
4
|
-
|
|
5
|
-
WORKDIR /build
|
|
6
|
-
|
|
7
|
-
COPY . .
|
|
8
|
-
|
|
9
|
-
# we are unable to use the --require-hashes option as there is no local file defining the hashes
|
|
10
|
-
# this is what pip uses for comparison by default.
|
|
11
|
-
# However, it can compare the hash against PyPI's hash.
|
|
12
|
-
# Since PyPI sends requests over TLS, this should be secure enough for our threat model.
|
|
13
|
-
# https://pypi.org/project/pipx/
|
|
14
|
-
# RUN pip install pipx==1.7.1 --hash=sha256:a575ced25c507c1b1c978269f5684b5b291e81e3cd14eb3cee196a3c5b304732
|
|
15
|
-
RUN uv sync --group build
|
|
16
|
-
# https://pipx.pypa.io/latest/how-to/pin-packages.html
|
|
17
|
-
RUN pipx install hatch==1.13.0 && pipx pin hatch
|
|
18
|
-
|
|
19
|
-
ENV PATH="$PATH:/root/.local/bin"
|
|
20
|
-
|
|
21
|
-
RUN hatch build
|
|
22
|
-
|
|
23
|
-
########################
|
|
24
|
-
|
|
25
|
-
# Google distroless Python 3.13 Alpine image
|
|
26
|
-
FROM gcr.io/distroless/python3-debian13:nonroot-amd64@sha256:2edaba4309e9b3cad2d297e334714ce67d549f2d2ed999fec198d049cbaa2d14
|
|
27
|
-
|
|
28
|
-
RUN apk update && \
|
|
29
|
-
apk add --no-cache libmagic
|
|
30
|
-
|
|
31
|
-
RUN addgroup --system --gid 1001 plexer && \
|
|
32
|
-
adduser --system --uid 1001 --ingroup plexer plexer
|
|
33
|
-
|
|
34
|
-
WORKDIR /app
|
|
35
|
-
|
|
36
|
-
COPY --chown=plexer:plexer --from=build /build/dist/ ./dist/
|
|
37
|
-
|
|
38
|
-
RUN python -m venv /app/venv
|
|
39
|
-
ENV PATH="/app/venv/bin:$PATH"
|
|
40
|
-
RUN pip install ./dist/plexer_cli-*.whl
|
|
41
|
-
|
|
42
|
-
USER plexer
|
|
43
|
-
|
|
44
|
-
ENTRYPOINT [ "/app/venv/bin/plexer" ]
|
|
45
|
-
CMD [ "--help" ]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|