add 0014-ci-improve-container-image-build-times.patch

This commit is contained in:
Fijxu 2025-04-15 19:24:35 -04:00
parent cc12d7a1b5
commit 75d7b8a56e
Signed by: Fijxu
GPG key ID: 32C1DDF333EDA6A4
14 changed files with 78 additions and 26 deletions

View file

@ -1,7 +1,7 @@
From 304a11d7dbb5ea7b2a0a0807b72b7a8fd412fe45 Mon Sep 17 00:00:00 2001 From f1a0d9c3d7034fe85938894df555840adab768d3 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:37:34 -0300 Date: Mon, 24 Mar 2025 19:37:34 -0300
Subject: [PATCH 01/13] ci: update deno to 2.2.9 Subject: [PATCH 01/14] ci: update deno to 2.2.9
--- ---
Dockerfile | 2 +- Dockerfile | 2 +-

View file

@ -1,7 +1,7 @@
From 7cb6f3aef050b13290bd2184f26727d15b8b1399 Mon Sep 17 00:00:00 2001 From 721a3453b1f928ea414aec7d70c70cc9706c9c5c Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 18:44:10 -0300 Date: Mon, 24 Mar 2025 18:44:10 -0300
Subject: [PATCH 02/13] feat: add support for an external videoplayback proxy Subject: [PATCH 02/14] feat: add support for an external videoplayback proxy
--- ---
config/config.example.toml | 1 + config/config.example.toml | 1 +

View file

@ -1,7 +1,7 @@
From 6bf25c88d4201ae64b8995999f68f5d8041068d8 Mon Sep 17 00:00:00 2001 From 6328ec2ef273e5c5b30b47818c8d9772afe060d3 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 18:52:53 -0300 Date: Mon, 24 Mar 2025 18:52:53 -0300
Subject: [PATCH 03/13] feat: report the external videoplayback proxy via /info Subject: [PATCH 03/14] feat: report the external videoplayback proxy via /info
endpoint endpoint
--- ---

View file

@ -1,7 +1,7 @@
From 78e38dca6a6aa534a82f9baca9a6bdeb13c463b3 Mon Sep 17 00:00:00 2001 From bc3aadc5095dbd4db4c51919fd33a4d5914fae46 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:02:01 -0300 Date: Mon, 24 Mar 2025 19:02:01 -0300
Subject: [PATCH 04/13] feat: add resolution limit on DASH streams to save Subject: [PATCH 04/14] feat: add resolution limit on DASH streams to save
bandwidth bandwidth
--- ---

View file

@ -1,7 +1,7 @@
From ccbac1fa1a5e2d003e8781f1a40ce2c8921e750b Mon Sep 17 00:00:00 2001 From 41448b8a4f8202502941e8586250f32ea36e75d0 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:06:04 -0300 Date: Mon, 24 Mar 2025 19:06:04 -0300
Subject: [PATCH 05/13] feat: add env variable to set verify_requests Subject: [PATCH 05/14] feat: add env variable to set verify_requests
--- ---
src/lib/helpers/config.ts | 4 +++- src/lib/helpers/config.ts | 4 +++-

View file

@ -1,7 +1,7 @@
From 118a43eb29e5c0d177f24b397b6cea03d1f9f81f Mon Sep 17 00:00:00 2001 From 25bc3a9825d909f8b1c62aabb589632a9077a63a Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:20:52 -0300 Date: Mon, 24 Mar 2025 19:20:52 -0300
Subject: [PATCH 06/13] feat: add support for multiple proxies Subject: [PATCH 06/14] feat: add support for multiple proxies
--- ---
src/lib/helpers/getFetchClient.ts | 17 ++++++++++++++++- src/lib/helpers/getFetchClient.ts | 17 ++++++++++++++++-

View file

@ -1,7 +1,7 @@
From 366732c6fec10c7efe360e208974352b93078850 Mon Sep 17 00:00:00 2001 From 28b99a622eedd27e1d17ca56cac60bbc1c1066a8 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 20:34:33 -0300 Date: Mon, 24 Mar 2025 20:34:33 -0300
Subject: [PATCH 07/13] feat: add option to disable potoken generation check Subject: [PATCH 07/14] feat: add option to disable potoken generation check
--- ---
config/config.example.toml | 1 + config/config.example.toml | 1 +

View file

@ -1,7 +1,7 @@
From 14316bc947ac4445465fd8a71bdca3dee2eebb37 Mon Sep 17 00:00:00 2001 From 97e5df9b3e3eb8b02c5b07ee975cb94df1cb1265 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 25 Mar 2025 00:04:47 -0300 Date: Tue, 25 Mar 2025 00:04:47 -0300
Subject: [PATCH 08/13] add proxy retries on innertube error Subject: [PATCH 08/14] add proxy retries on innertube error
--- ---
src/lib/helpers/config.ts | 1 + src/lib/helpers/config.ts | 1 +

View file

@ -1,7 +1,7 @@
From 8abaf38caf956720e39c32425c69452472cffecc Mon Sep 17 00:00:00 2001 From eafd5e7931f70f5efe22cfce878adf3d3af9baab Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 25 Mar 2025 00:07:28 -0300 Date: Tue, 25 Mar 2025 00:07:28 -0300
Subject: [PATCH 09/13] add metrics for proxy retries Subject: [PATCH 09/14] add metrics for proxy retries
--- ---
src/lib/helpers/metrics.ts | 5 +++++ src/lib/helpers/metrics.ts | 5 +++++

View file

@ -1,7 +1,7 @@
From e4b515fe5b7819b5e1e210f5648e7163ea7236cc Mon Sep 17 00:00:00 2001 From 62bb86e2fca4227330dd6517a3354d62e9531353 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 25 Mar 2025 00:24:07 -0300 Date: Tue, 25 Mar 2025 00:24:07 -0300
Subject: [PATCH 10/13] fix: fix tokio overflow on compile Subject: [PATCH 10/14] fix: fix tokio overflow on compile
--- ---
Dockerfile | 2 ++ Dockerfile | 2 ++

View file

@ -1,7 +1,7 @@
From f700501126aeb9517e679055e7f6b8e626455fa7 Mon Sep 17 00:00:00 2001 From 3f266906b3beb01b20d5b964514121ba7acd8a8a Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Wed, 26 Mar 2025 12:24:49 -0300 Date: Wed, 26 Mar 2025 12:24:49 -0300
Subject: [PATCH 11/13] Add environment variable for youtube_session.frequency Subject: [PATCH 11/14] Add environment variable for youtube_session.frequency
--- ---
src/lib/helpers/config.ts | 4 +++- src/lib/helpers/config.ts | 4 +++-

View file

@ -1,7 +1,7 @@
From 32afd34c9d071c36e9ebcdb3fd637b2041e879df Mon Sep 17 00:00:00 2001 From d19516244342b0f8d44c1a50f41d57066b1d85ad Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 8 Apr 2025 02:21:10 -0400 Date: Tue, 8 Apr 2025 02:21:10 -0400
Subject: [PATCH 12/13] add option to disable logging Subject: [PATCH 12/14] add option to disable logging
--- ---
src/lib/helpers/config.ts | 7 ++++++- src/lib/helpers/config.ts | 7 ++++++-

View file

@ -1,7 +1,7 @@
From e2b7c8156fbc137f621036b2dd5fa4d34e383a0a Mon Sep 17 00:00:00 2001 From a18ba4ac49ae7bd3c8a82175875c9398d3c09056 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Wed, 9 Apr 2025 13:37:16 -0400 Date: Wed, 9 Apr 2025 13:37:16 -0400
Subject: [PATCH 13/13] metrics: track unidentified innertube errors Subject: [PATCH 13/14] metrics: track unidentified innertube errors
--- ---
src/lib/helpers/config.ts | 4 ++ src/lib/helpers/config.ts | 4 ++

View file

@ -0,0 +1,52 @@
From c602b6acca506dc354283cae1f13f30c0d5829f7 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net>
Date: Tue, 15 Apr 2025 19:20:52 -0400
Subject: [PATCH 14/14] ci: improve container image build times
---
.github/workflows/docker-build-push.yaml | 2 ++
Dockerfile | 11 ++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/docker-build-push.yaml b/.github/workflows/docker-build-push.yaml
index 8a79d77..69561fa 100644
--- a/.github/workflows/docker-build-push.yaml
+++ b/.github/workflows/docker-build-push.yaml
@@ -70,3 +70,5 @@ jobs:
platforms: linux/amd64,linux/arm64 # Build for multiple architectures
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
diff --git a/Dockerfile b/Dockerfile
index 370678d..3a573b7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -11,9 +11,6 @@ RUN mkdir -p /var/tmp/youtubei.js
RUN apt update && apt install -y curl
-COPY ./src/ /app/src/
-COPY deno.json /app/
-
RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(dpkg --print-architecture) \
--output /tini \
&& chmod +x /tini
@@ -23,6 +20,14 @@ RUN arch=$(uname -m) && \
--output /thc \
&& chmod +x /thc
+COPY deno.json /app/
+COPY deno.lock /app/
+
+# Dependencies are cached on /deno-dir for the denoland/deno:debian image
+RUN --mount=type=cache,target=/deno-dir deno install
+
+COPY ./src/ /app/src/
+
RUN deno task compile
# Stage for creating the non-privileged user
--
2.49.0