From 9c70a4e63130f85d191c5bc16d0a4be5cd1dece2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?=
 <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Mon, 3 Feb 2025 22:45:59 +0900
Subject: [PATCH] =?UTF-8?q?fix(build):=20corepack=E3=81=AE=E3=83=90?=
 =?UTF-8?q?=E3=82=B0=E3=81=AE=E5=9B=9E=E9=81=BF=20(#15387)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* fix: disallow corepack from fetching latest manager version instead use specified version in package.json

* Update Changelog

* fix?

* apply COREPACK_DEFAULT_TO_LATEST: 0 to every github workflows

* Revert "apply COREPACK_DEFAULT_TO_LATEST: 0 to every github workflows"

This reverts commit 67f0dc31adaa04f891f74f5c44a3d4d13a302a03.

* apply COREPACK_DEFAULT_TO_LATEST: 0 to every github workflows (re)

* fix

* fix?

* revert: removing corepack enable

* test: set COREPACK_DEFAULT_TO_LATEST for federation tests

---------

Co-authored-by: Marie <github@yuugi.dev>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
---
 .github/workflows/api-misskey-js.yml             | 4 ++++
 .github/workflows/get-api-diff.yml               | 4 ++++
 .github/workflows/lint.yml                       | 4 ++++
 .github/workflows/locale.yml                     | 4 ++++
 .github/workflows/on-release-created.yml         | 3 +++
 .github/workflows/storybook.yml                  | 3 +++
 .github/workflows/test-backend.yml               | 4 ++++
 .github/workflows/test-federation.yml            | 3 +++
 .github/workflows/test-frontend.yml              | 4 ++++
 .github/workflows/test-misskey-js.yml            | 4 ++++
 .github/workflows/test-production.yml            | 1 +
 .github/workflows/validate-api-json.yml          | 4 ++++
 CHANGELOG.md                                     | 3 ++-
 Dockerfile                                       | 5 +++++
 packages/backend/test-federation/compose.tpl.yml | 1 +
 packages/backend/test-federation/compose.yml     | 3 +++
 16 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/api-misskey-js.yml b/.github/workflows/api-misskey-js.yml
index e21738c4f4..6f4219b54b 100644
--- a/.github/workflows/api-misskey-js.yml
+++ b/.github/workflows/api-misskey-js.yml
@@ -9,6 +9,10 @@ on:
     paths:
       - packages/misskey-js/**
       - .github/workflows/api-misskey-js.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   report:
 
diff --git a/.github/workflows/get-api-diff.yml b/.github/workflows/get-api-diff.yml
index 46c726b986..6805e8bc3c 100644
--- a/.github/workflows/get-api-diff.yml
+++ b/.github/workflows/get-api-diff.yml
@@ -9,6 +9,10 @@ on:
     paths:
       - packages/backend/**
       - .github/workflows/get-api-diff.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   get-from-misskey:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 9785bb5744..2f6938d2e4 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -28,6 +28,10 @@ on:
       - packages/misskey-reversi/**
       - packages/shared/eslint.config.js
       - .github/workflows/lint.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   pnpm_install:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/locale.yml b/.github/workflows/locale.yml
index 2eb4ca3ad9..95d29bf828 100644
--- a/.github/workflows/locale.yml
+++ b/.github/workflows/locale.yml
@@ -9,6 +9,10 @@ on:
     paths:
       - locales/**
       - .github/workflows/locale.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   locale_verify:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/on-release-created.yml b/.github/workflows/on-release-created.yml
index 8ca2ed9efb..fc224a6239 100644
--- a/.github/workflows/on-release-created.yml
+++ b/.github/workflows/on-release-created.yml
@@ -6,6 +6,9 @@ on:
 
   workflow_dispatch:
 
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   publish-misskey-js:
     name: Publish misskey-js
diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml
index dfba46a8c8..be294201f0 100644
--- a/.github/workflows/storybook.yml
+++ b/.github/workflows/storybook.yml
@@ -13,6 +13,9 @@ on:
       # This is a waste of chromatic build quota, so we don't run storybook CI on pull requests targets master.
       - master
 
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   build:
     # chromatic is not likely to be available for fork repositories, so we disable for fork repositories.
diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml
index debfe24819..99a9f99b75 100644
--- a/.github/workflows/test-backend.yml
+++ b/.github/workflows/test-backend.yml
@@ -18,6 +18,10 @@ on:
       - packages/misskey-js/**
       - .github/workflows/test-backend.yml
       - .github/misskey/test.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   unit:
     name: Unit tests (backend)
diff --git a/.github/workflows/test-federation.yml b/.github/workflows/test-federation.yml
index c4546a0590..74cdff80f1 100644
--- a/.github/workflows/test-federation.yml
+++ b/.github/workflows/test-federation.yml
@@ -15,6 +15,9 @@ on:
       - packages/misskey-js/**
       - .github/workflows/test-federation.yml
 
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   test:
     name: Federation test
diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml
index 51e0b0e8b8..6c09896d06 100644
--- a/.github/workflows/test-frontend.yml
+++ b/.github/workflows/test-frontend.yml
@@ -22,6 +22,10 @@ on:
       - packages/backend/**
       - .github/workflows/test-frontend.yml
       - .github/misskey/test.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   vitest:
     name: Unit tests (frontend)
diff --git a/.github/workflows/test-misskey-js.yml b/.github/workflows/test-misskey-js.yml
index c72a2470a4..d88dc18bd8 100644
--- a/.github/workflows/test-misskey-js.yml
+++ b/.github/workflows/test-misskey-js.yml
@@ -14,6 +14,10 @@ on:
     paths:
       - packages/misskey-js/**
       - .github/workflows/test-misskey-js.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   test:
     name: Unit tests (misskey.js)
diff --git a/.github/workflows/test-production.yml b/.github/workflows/test-production.yml
index 4a55f4803c..5269358e38 100644
--- a/.github/workflows/test-production.yml
+++ b/.github/workflows/test-production.yml
@@ -9,6 +9,7 @@ on:
 
 env:
   NODE_ENV: production
+  COREPACK_DEFAULT_TO_LATEST: 0
 
 jobs:
   production:
diff --git a/.github/workflows/validate-api-json.yml b/.github/workflows/validate-api-json.yml
index 0d254898f8..65afcd4cd0 100644
--- a/.github/workflows/validate-api-json.yml
+++ b/.github/workflows/validate-api-json.yml
@@ -12,6 +12,10 @@ on:
     paths:
       - packages/backend/**
       - .github/workflows/validate-api-json.yml
+
+env:
+  COREPACK_DEFAULT_TO_LATEST: 0
+
 jobs:
   validate-api-json:
     runs-on: ubuntu-latest
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 601bf743bc..b2053fad1c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,8 @@
 ## 2025.2.0
 
 ### General
--
+- Fix: Docker のビルドに失敗する問題を修正  
+  (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/883)
 
 ### Client
 - Fix: 一部環境でセンシティブなファイルを含むノートの非表示が効かない問題 
diff --git a/Dockerfile b/Dockerfile
index 13f6909462..3bc2044396 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,6 +6,8 @@ ARG NODE_VERSION=22.11.0-bookworm
 
 FROM --platform=$BUILDPLATFORM node:${NODE_VERSION} AS native-builder
 
+ENV COREPACK_DEFAULT_TO_LATEST=0
+
 RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
 	--mount=type=cache,target=/var/lib/apt,sharing=locked \
 	rm -f /etc/apt/apt.conf.d/docker-clean \
@@ -44,6 +46,8 @@ RUN rm -rf .git/
 
 FROM --platform=$TARGETPLATFORM node:${NODE_VERSION} AS target-builder
 
+ENV COREPACK_DEFAULT_TO_LATEST=0
+
 RUN apt-get update \
 	&& apt-get install -yqq --no-install-recommends \
 	build-essential
@@ -68,6 +72,7 @@ FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim AS runner
 
 ARG UID="991"
 ARG GID="991"
+ENV COREPACK_DEFAULT_TO_LATEST=0
 
 RUN apt-get update \
 	&& apt-get install -y --no-install-recommends \
diff --git a/packages/backend/test-federation/compose.tpl.yml b/packages/backend/test-federation/compose.tpl.yml
index 8c38f16919..8b270e58f7 100644
--- a/packages/backend/test-federation/compose.tpl.yml
+++ b/packages/backend/test-federation/compose.tpl.yml
@@ -17,6 +17,7 @@ services:
       - ./.config/docker.env
     environment:
       - NODE_ENV=production
+      - COREPACK_DEFAULT_TO_LATEST=0
     volumes:
       - type: bind
         source: ../../../built
diff --git a/packages/backend/test-federation/compose.yml b/packages/backend/test-federation/compose.yml
index 62d7e977c0..a5a7223982 100644
--- a/packages/backend/test-federation/compose.yml
+++ b/packages/backend/test-federation/compose.yml
@@ -25,6 +25,7 @@ services:
     environment:
       - NODE_ENV=development
       - NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/rootCA.crt
+      - COREPACK_DEFAULT_TO_LATEST=0
     volumes:
       - type: bind
         source: ../package.json
@@ -85,6 +86,8 @@ services:
     depends_on:
       redis.test:
         condition: service_healthy
+    environment:
+      - COREPACK_DEFAULT_TO_LATEST=0
     volumes:
       - type: bind
         source: ../package.json
-- 
GitLab