From 54ef7d0922ce0e41d09c63ed541cc1f5efcc1a78 Mon Sep 17 00:00:00 2001 From: KernelPanic Date: Tue, 4 Aug 2026 12:30:36 -0400 Subject: [PATCH 1/3] ci: wire GITHUB_ACTOR/GITHUB_TOKEN into the check job's environment The MrCrayfish GitHub Packages Maven repo in build.gradle.kts reads these via "github_actor"/"github_token".localOrEnv, but neither is auto-injected into a run: step's shell environment - so that repo's dependency requests (catalogue-common, etc.) went out unauthenticated and GitHub Packages returned 401, failing dependency resolution before any test could run. May not be fully sufficient on its own: the default GITHUB_TOKEN is scoped to this repo, and cross-owner GitHub Packages reads commonly need a real PAT with read:packages granted access to MrCrayfish's packages specifically. If CI still 401s after this, that's the next thing to check. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/check.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 0bdd7a8e2..246f13a63 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -30,6 +30,17 @@ jobs: # Force Mesa's software rasterizer - GitHub-hosted runners have no GPU, and LWJGL/GLFW # need a working GL context (even offscreen) to boot the Minecraft client for gametests. LIBGL_ALWAYS_SOFTWARE: "1" + # build.gradle.kts reads these (via "github_actor"/"github_token".localOrEnv, i.e. + # GITHUB_ACTOR/GITHUB_TOKEN) as Basic Auth credentials for the MrCrayfish GitHub Packages + # Maven repo (catalogue/menulogue). Neither is auto-injected into `run:` steps' shell + # environment - without this, that repo request goes out unauthenticated and GitHub + # Packages 401s, even for a public package. Note this may still not be sufficient on its + # own: secrets.GITHUB_TOKEN is scoped to this repo, and cross-owner GitHub Packages reads + # commonly need a real PAT (with read:packages) that's been granted access to MrCrayfish's + # packages specifically - if this repo's actor/token combination still 401s, that's the + # next thing to check, likely needing a dedicated PAT secret instead. + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v7 From 134f0dd85087a65f31d8fd925300432cfb52d0a3 Mon Sep 17 00:00:00 2001 From: KernelPanic Date: Tue, 4 Aug 2026 12:33:51 -0400 Subject: [PATCH 2/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .github/workflows/check.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 246f13a63..bfae06155 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -30,10 +30,10 @@ jobs: # Force Mesa's software rasterizer - GitHub-hosted runners have no GPU, and LWJGL/GLFW # need a working GL context (even offscreen) to boot the Minecraft client for gametests. LIBGL_ALWAYS_SOFTWARE: "1" - # build.gradle.kts reads these (via "github_actor"/"github_token".localOrEnv, i.e. - # GITHUB_ACTOR/GITHUB_TOKEN) as Basic Auth credentials for the MrCrayfish GitHub Packages - # Maven repo (catalogue/menulogue). Neither is auto-injected into `run:` steps' shell - # environment - without this, that repo request goes out unauthenticated and GitHub + # build.gradle.kts reads github_actor/github_token from the environment (GITHUB_ACTOR/GITHUB_TOKEN) + # for Basic Auth against the MrCrayfish GitHub Packages Maven repo (catalogue/menulogue). + # GITHUB_ACTOR is provided by the runner, but GITHUB_TOKEN is only available via expressions + # unless explicitly exported to the step environment, so Gradle runs need it set here. # Packages 401s, even for a public package. Note this may still not be sufficient on its # own: secrets.GITHUB_TOKEN is scoped to this repo, and cross-owner GitHub Packages reads # commonly need a real PAT (with read:packages) that's been granted access to MrCrayfish's From 075684c71af232d54fdf975f9c1d8248b93206c4 Mon Sep 17 00:00:00 2001 From: KernelPanic Date: Thu, 6 Aug 2026 14:44:40 -0400 Subject: [PATCH 3/3] Fix CI build failure from dead resourcefulbees maven repo maven.resourcefulbees.com now 200s with an HTML redirect page (to maven.knifepoint.net) for paths it doesn't actually mirror, instead of 404ing. Since it was declared unscoped, Gradle tried it for every unresolved dependency, including androidx.collection/androidx.annotation (pulled in transitively by Compose Desktop's runtime), and hard-failed trying to parse the redirect HTML as module metadata instead of falling through to a repo that has them. - Scope the resourcefulbees repo to the one group it's genuinely still needed for (earth.terrarium.common_storage_lib). - Add google(), scoped to androidx.*/com.android.*, since that's where those artifacts actually live (mavenCentral 404s on them). Verified locally: :Archie:fabric:dependencies --configuration bundleRuntimeLibraryConfiguration now resolves cleanly. --- Archie-Test/build.gradle.kts | 12 +++++++++++- Archie/build.gradle.kts | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Archie-Test/build.gradle.kts b/Archie-Test/build.gradle.kts index adf091728..d755833ba 100644 --- a/Archie-Test/build.gradle.kts +++ b/Archie-Test/build.gradle.kts @@ -64,6 +64,12 @@ subprojects { val githubToken = "github_token".localOrEnv mavenCentral() mavenLocal() + google { + content { + includeGroupByRegex("androidx\\..*") + includeGroupByRegex("com\\.android.*") + } + } maven { name = "kernelpanic releases" url = uri("https://maven.kernelpanicsoft.net/releases") @@ -81,7 +87,11 @@ subprojects { maven("https://maven.isxander.dev/releases") { name = "Xander Maven" } - maven("https://maven.resourcefulbees.com/repository/maven-public/") + maven("https://maven.resourcefulbees.com/repository/maven-public/") { + content { + includeGroup("earth.terrarium.common_storage_lib") + } + } maven { url = uri("https://maven.pkg.github.com/MrCrayfish/Maven") credentials { diff --git a/Archie/build.gradle.kts b/Archie/build.gradle.kts index 6890738f9..15c3d1a98 100644 --- a/Archie/build.gradle.kts +++ b/Archie/build.gradle.kts @@ -69,6 +69,12 @@ subprojects { val githubToken = "github_token".localOrEnv mavenCentral() mavenLocal() + google { + content { + includeGroupByRegex("androidx\\..*") + includeGroupByRegex("com\\.android.*") + } + } maven { name = "kernelpanic releases" url = uri("https://maven.kernelpanicsoft.net/releases") @@ -87,7 +93,11 @@ subprojects { maven("https://maven.isxander.dev/releases") { name = "Xander Maven" } - maven("https://maven.resourcefulbees.com/repository/maven-public/") + maven("https://maven.resourcefulbees.com/repository/maven-public/") { + content { + includeGroup("earth.terrarium.common_storage_lib") + } + } maven { url = uri("https://maven.pkg.github.com/MrCrayfish/Maven") credentials {