Skip to content

Commit

Permalink
Disable Alpine builds due to Hanbrake failing to install
Browse files Browse the repository at this point in the history
  • Loading branch information
ptr727 committed Apr 13, 2024
1 parent 273faa3 commit 0910552
Show file tree
Hide file tree
Showing 10 changed files with 66 additions and 28 deletions.
16 changes: 9 additions & 7 deletions .github/workflows/BuildDockerPush.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ jobs:
needs: version

strategy:

# Keep building, helps with troubleshooting
fail-fast: false

# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
matrix:
include:
Expand All @@ -96,12 +98,12 @@ jobs:
# docker.io/ptr727/plexcleaner:${{ endsWith(github.ref, 'refs/heads/main') && 'alpine' || 'alpine-develop' }}

# Alpine Edge: linux/amd64,linux/arm64
- file: ./Docker/Alpine.Dockerfile
platforms: linux/amd64,linux/arm64
cache-scope: alpine-edge
secrets: SAVOURY_PPA_AUTH
tags: |
docker.io/ptr727/plexcleaner:${{ endsWith(github.ref, 'refs/heads/main') && 'alpine-edge' || 'alpine-edge-develop' }}
# - file: ./Docker/Alpine.Dockerfile
# platforms: linux/amd64,linux/arm64
# cache-scope: alpine-edge
# secrets: SAVOURY_PPA_AUTH
# tags: |
# docker.io/ptr727/plexcleaner:${{ endsWith(github.ref, 'refs/heads/main') && 'alpine-edge' || 'alpine-edge-develop' }}

# Ubuntu: linux/amd64
- file: ./Docker/Ubuntu.dotNET.Savoury.Dockerfile
Expand Down
16 changes: 12 additions & 4 deletions Docker/Alpine.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,13 @@ ARG BUILD_CONFIGURATION="Debug" \
BUILD_INFORMATION_VERSION="1.0.0.0" \
BUILD_PACKAGE_VERSION="1.0.0.0"

# Upgrade
RUN apk update \
&& apk upgrade

# Install .NET SDK
# https://pkgs.alpinelinux.org/package/edge/community/x86_64/dotnet8-sdk
RUN apk --upgrade --no-cache add dotnet8-sdk
RUN apk add dotnet8-sdk

# Copy source and unit tests
COPY ./Samples/. ./Samples/.
Expand Down Expand Up @@ -77,12 +81,16 @@ ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
LC_ALL=en_US.UTF-8 \
TZ=Etc/UTC

# Upgrade
RUN apk update \
&& apk upgrade

# Install .NET Runtime
# https://pkgs.alpinelinux.org/package/edge/community/x86_64/dotnet8-runtime
RUN apk --upgrade --no-cache add dotnet8-runtime
RUN apk add dotnet8-runtime

# Install prerequisites
RUN apk --upgrade --no-cache add \
RUN apk add \
icu-data-full \
icu-libs \
p7zip \
Expand All @@ -100,7 +108,7 @@ RUN wget https://aka.ms/getvsdbgsh \
# https://pkgs.alpinelinux.org/package/edge/community/x86_64/mediainfo
# https://pkgs.alpinelinux.org/package/edge/community/x86_64/mkvtoolnix
# https://pkgs.alpinelinux.org/package/edge/community/x86_64/handbrake
RUN apk --upgrade --no-cache add \
RUN apk add \
ffmpeg\
mediainfo \
mkvtoolnix \
Expand Down
12 changes: 10 additions & 2 deletions Docker/Alpine.dotNET.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ ARG BUILD_CONFIGURATION="Debug" \
BUILD_INFORMATION_VERSION="1.0.0.0" \
BUILD_PACKAGE_VERSION="1.0.0.0"

# Upgrade
RUN apk update \
&& apk upgrade

# Copy source and unit tests
COPY ./Samples/. ./Samples/.
COPY ./PlexCleanerTests/. ./PlexCleanerTests/.
Expand Down Expand Up @@ -76,8 +80,12 @@ ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
LC_ALL=en_US.UTF-8 \
TZ=Etc/UTC

# Upgrade
RUN apk update \
&& apk upgrade

# Install prerequisites
RUN apk --upgrade --no-cache add \
RUN apk add \
icu-data-full \
icu-libs \
p7zip \
Expand All @@ -100,7 +108,7 @@ RUN wget https://aka.ms/getvsdbgsh \
# https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/mkvtoolnix
# Handbrake is only on Edge
# https://pkgs.alpinelinux.org/package/edge/community/x86_64/handbrake
RUN apk --upgrade --no-cache add \
RUN apk add \
ffmpeg --repository=http://dl-cdn.alpinelinux.org/alpine/v3.19/community/ \
mediainfo --repository=http://dl-cdn.alpinelinux.org/alpine/v3.19/community/ \
mkvtoolnix --repository=http://dl-cdn.alpinelinux.org/alpine/v3.19/community/ \
Expand Down
18 changes: 11 additions & 7 deletions Docker/Arch.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,12 @@ ARG BUILD_CONFIGURATION="Debug" \
BUILD_INFORMATION_VERSION="1.0.0.0" \
BUILD_PACKAGE_VERSION="1.0.0.0"

# Upgrade
RUN pacman -Syu --noconfirm

# Install .NET SDK
# https://archlinux.org/packages/extra/x86_64/dotnet-sdk/
RUN pacman -Syu --noconfirm dotnet-sdk
RUN pacman -S --noconfirm dotnet-sdk

# Install .NET from AUR if required version not yet available in standard packages
# https://aur.archlinux.org/packages/dotnet-sdk-bin
Expand Down Expand Up @@ -78,13 +81,14 @@ LABEL name="PlexCleaner" \
# Default timezone is UTC
ENV TZ=Etc/UTC

# Upgrade
RUN pacman -Syu --noconfirm

# Install prerequisites and do base configuration
RUN pacman-key --init \
&& echo 'en_US.UTF-8 UTF-8' | tee -a /etc/locale.gen \
RUN echo 'en_US.UTF-8 UTF-8' | tee -a /etc/locale.gen \
&& locale-gen \
&& echo 'LANG=en_US.UTF-8' | tee /etc/locale.conf \
&& pacman --sync --noconfirm --refresh --sysupgrade \
&& pacman --sync --noconfirm \
&& pacman -S --noconfirm \
p7zip \
wget

Expand All @@ -109,7 +113,7 @@ RUN wget https://aka.ms/getvsdbgsh \
# https://archlinux.org/packages/community/x86_64/mediainfo/
# https://archlinux.org/packages/community/x86_64/handbrake-cli/
# https://archlinux.org/packages/extra/x86_64/mkvtoolnix-cli/
RUN pacman -Syu --noconfirm \
RUN pacman -S --noconfirm \
# Install released .NET if not using AUR package
dotnet-runtime \
ffmpeg \
Expand All @@ -119,7 +123,7 @@ RUN pacman -Syu --noconfirm \
mkvtoolnix-cli

# Cleanup
RUN echo "y\ny" | pacman --sync --noconfirm --clean --clean
RUN echo "y\ny" | pacman -S --noconfirm --clean

# Copy PlexCleaner from builder layer
COPY --from=builder /Builder/Publish/PlexCleaner/. /PlexCleaner
Expand Down
12 changes: 9 additions & 3 deletions Docker/Debian.dotNET.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ ARG BUILD_CONFIGURATION="Debug" \
BUILD_INFORMATION_VERSION="1.0.0.0" \
BUILD_PACKAGE_VERSION="1.0.0.0"

# Upgrade
RUN apt-get update \
&& apt-get upgrade -y

# Copy source and unit tests
COPY ./Samples/. ./Samples/.
COPY ./PlexCleanerTests/. ./PlexCleanerTests/.
Expand Down Expand Up @@ -122,10 +126,12 @@ RUN touch /etc/apt/preferences.d/stable.pref \
&& touch /etc/apt/sources.list.d/experimental.list \
&& echo "deb http://deb.debian.org/debian experimental main" >> /etc/apt/sources.list.d/experimental.list

# Install prerequisites
# Upgrade
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y \
&& apt-get upgrade -y

# Install prerequisites
RUN apt-get install -y \
apt-utils \
locales \
locales-all \
Expand Down
12 changes: 9 additions & 3 deletions Docker/Ubuntu.dotNET.Savoury.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ ARG BUILD_CONFIGURATION="Debug" \
BUILD_INFORMATION_VERSION="1.0.0.0" \
BUILD_PACKAGE_VERSION="1.0.0.0"

# Upgrade
RUN apt-get update \
&& apt-get upgrade -y

# Copy source and unit tests
COPY ./Samples/. ./Samples/.
COPY ./PlexCleanerTests/. ./PlexCleanerTests/.
Expand Down Expand Up @@ -66,10 +70,12 @@ LABEL name="PlexCleaner" \
# Prevent EULA and confirmation prompts in installers
ENV DEBIAN_FRONTEND=noninteractive

# Install prerequisites
# Upgrade
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y \
&& apt-get upgrade -y

# Install prerequisites
RUN apt-get install -y \
apt-utils \
locales \
locales-all \
Expand Down
1 change: 1 addition & 0 deletions PlexCleaner.sln
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docker", "Docker", "{C560F57F-962E-4C71-8F27-939D06813302}"
ProjectSection(SolutionItems) = preProject
Docker\Alpine.Dockerfile = Docker\Alpine.Dockerfile
Docker\Alpine.dotNET.Dockerfile = Docker\Alpine.dotNET.Dockerfile
Docker\Arch.Dockerfile = Docker\Arch.Dockerfile
Docker\Build.sh = Docker\Build.sh
Expand Down
2 changes: 1 addition & 1 deletion PlexCleaner/PlexCleaner.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="InsaneGenius.Utilities" Version="3.1.34" />
<PackageReference Include="InsaneGenius.Utilities" Version="3.1.38" />
<PackageReference Include="JsonSchema.Net.Generation" Version="4.3.0" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
<PackageReference Include="Serilog" Version="3.1.1" />
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ Docker images are published on [Docker Hub][docker-link].

## Release Notes

- Version 3.8:
- Disabling Alpine Edge builds, Handbrake is [failing](https://gitlab.alpinelinux.org/alpine/aports/-/issues/15979) to install, again.
- Will re-enable alpine builds if Alpine 3.20 and Handbrake is stable.
- Version 3.7:
- Added `ProcessOptions:IgnoreFiles` to support skipping (not deleting) sample files per [discussions request](https://github.com/ptr727/PlexCleaner/discussions/341).
- Wildcard characters `*` and `?` are supported, e.g. `*.sample` or `*.sample.*`.
Expand Down
2 changes: 1 addition & 1 deletion version.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"version": "3.7",
"version": "3.8",
"publicReleaseRefSpec": [
"^refs/heads/main$"
],
Expand Down

0 comments on commit 0910552

Please sign in to comment.