Gå til hovedindhold

Kompatibilitet for de 20 mest brugte Marketplace-actions

De fleste Marketplace-actions virker på fremforge uden ændringer, fordi fremforges runnere henter actionkoden gennem Forgejo-pull-mirrors af GitHub-udgivere, som fremverk driver. En workflows uses: actions/checkout@v4 peger på https://frem.sh/actions/checkout, et Forgejo-pull-mirror af github.com/actions/checkout, der synkroniseres med upstream hver 8. time. Ingen kørsel af kunders workflows når github.com direkte: runnerne ser kun den spejlede kopi, der ligger i EU, hvilket opfylder forpligtelsen i DPA’ens bilag A.6. Forgejo Actions-runtimen stiller de samme miljøvariabler til rådighed som GitHub Actions (GITHUB_TOKEN, GITHUB_SHA, GITHUB_REF, GITHUB_API_URL osv.), så en workflows uses: actions/checkout@v4-direktiv slås op gennem mirroret, uden at du mærker det.

Spejlede upstream-udgivere (pr. 2026-06-02)

Disse GitHub-udgivere er spejlet som Forgejo-pull-mirrors på frem.sh og virker uden problemer fra enhver kundes workflow:

  • actions/: checkout, setup-node, setup-python, setup-go, setup-java, setup-dotnet, upload-artifact, download-artifact, cache
  • docker/: login-action, setup-buildx-action, build-push-action
  • pnpm/: action-setup
  • step-security/: harden-runner
  • aws-actions/: configure-aws-credentials
  • azure/: login
  • google-github-actions/: auth
  • peter-evans/: create-pull-request
  • dorny/: paths-filter, test-reporter
  • softprops/: action-gh-release
  • sonarsource/: sonarcloud-github-action

Har du brug for en action fra en udgiver, der ikke står ovenfor, så send en anmodning om et mirror. Vi tilføjer et nyt pull-mirror af github.com/<publisher>/<repo>, og dit workflow kører uden problemer ved næste kørsel. Anmodninger om mirrors er typisk klaret inden for én arbejdsdag. Reserverede udgivernavne (aws-actions, azure, microsoft, sigstore osv.) er låst på forhånd i Forgejos identitetslag, så ingen kundetenant kan tage dem og smugle ondsindet kode ind gennem dine workflows.

Denne matrix dækker de 20 mest downloadede actions. Hver post er markeret med sit verificeringsniveau:

  • Kodegennemgået: vurderet ud fra actionens kildekode og rapporter fra Forgejo-fællesskabet; endnu ikke kørt på en rigtig runner hostet af fremforge.
  • Runner-verificeret: kørt på en rigtig runner hostet af fremforge; resultatet er bekræftet i praksis.

Runner-verificerede poster kommer til, efterhånden som tjeklisten over blokeringer for lanceringen i fase 1 bliver gennemgået.

Forklaring af status

  • ✅ Virker som den er: kører uændret; workflows kan flyttes uden ændringer.
  • ⚠️ Virker med bemærkning: kører, men en bestemt adfærd er anderledes, eller en forudsætning skal være opfyldt. Bemærkningen beskriver, hvad du skal gøre.
  • 🔧 Kræver wrapper: en lille wrapper eller composite action genskaber kompatibiliteten. Koden til wrapperen følger med.
  • ❌ Intet tilsvarende: afhænger af infrastruktur, der kun findes hos GitHub, og kan ikke køre mod fremforge. Et alternativ anbefales.

Hvad vi lover at dække

De 20 mest brugte actions på GitHub Marketplace på lanceringstidspunktet. Listen gennemgås hvert kvartal; en action, der falder ud af top 20, bliver i matrixen, indtil brugsdata begrunder at fjerne den.

Kompatibilitetsmatrix

ActionStatusNiveauBemærkninger
actions/checkout✅KodegennemgåetBruger GITHUB_TOKEN og Forgejos Git-endpoint. Ingen GitHub-specifikke API-kald. Virker uændret.
actions/setup-node✅KodegennemgåetTool-cache-action. Intet kald til GitHubs API, når versionen ligger i runnerens tool cache; ellers læser den sin versionsliste fra api.github.com. Se GitHubs API-ratebegrænsning.
actions/setup-python✅KodegennemgåetSamme tool-cache-mønster som setup-node, inklusive bemærkningen om GitHubs API-ratebegrænsning.
actions/setup-go✅KodegennemgåetSamme tool-cache-mønster, inklusive bemærkningen om GitHubs API-ratebegrænsning.
actions/setup-java✅KodegennemgåetSamme tool-cache-mønster. Temurin hentes fra Adoptium; kun distributioner, hvis versionsliste ligger på GitHub (fx Microsoft Build of OpenJDK), kalder api.github.com, se GitHubs API-ratebegrænsning.
actions/setup-dotnet✅KodegennemgåetSamme tool-cache-mønster. Virker uændret.
actions/cache✅KodegennemgåetLæser ACTIONS_CACHE_URL fra runnerens miljø; fremforges runnere peger den på fremforges egen cachetjeneste, afgrænset pr. repository (se Caching). Virker uændret, ligesom den indbyggede caching i setup-*-actions.
actions/upload-artifact✅KodegennemgåetBruger ACTIONS_RUNTIME_URL/artefakt-API’et. Forgejo 1.22+ implementerer dette endpoint; fremforges runnere kører en kompatibel version. Virker uændret.
actions/download-artifact✅KodegennemgåetSamme artefakt-API som upload-artifact. Virker uændret.
docker/login-action✅KodegennemgåetKalder målregistret direkte (Docker Hub, GHCR, eget registry). Intet GitHub-specifikt API. Virker uændret.
docker/build-push-action✅KodegennemgåetDocker findes direkte på runneren (se Runner-images), så denne action virker uden videre (inklusive BuildKit-funktioner). kaniko er stadig forudinstalleret som et alternativ uden daemon; se Runner-image / Container-builds.
docker/setup-buildx-action✅KodegennemgåetBuildx virker mod runnerens egen Docker; BuildKit-funktioner (cache-from/to, flere platforme via QEMU) er tilgængelige.
peter-evans/create-pull-request✅KodegennemgåetBruger GitHubs REST API (oprettelse af PR, push af branch) via GITHUB_API_URL, som fremforge sætter til Forgejos API-endpoint. Forgejos PR-API er kompatibelt med GitHub v3 for de kald, denne action laver. Virker uændret.
azure/login⚠️KodegennemgåetOIDC-føderation: actionen beder om et OIDC-token fra ACTIONS_ID_TOKEN_REQUEST_URL, som fremforges runnere stiller til rådighed. Du skal oprette en Azure AD federated credential med fremforges OIDC-udsteder (https://frem.sh/_app/runner/oidc, én fælles udsteder for alle tenants). Se runbooken til opsætning af OIDC for runnere for trinene. Vejen med brugernavn og adgangskode (creds) virker uden OIDC-opsætning.
aws-actions/configure-aws-credentials⚠️KodegennemgåetSamme OIDC-forudsætning som azure/login. Opret en OIDC-identitetsudbyder i AWS IAM med fremforges udsteder-URL. Se runbooken til opsætning af OIDC for runnere. Vejen med statiske adgangsnøgler virker uden OIDC-opsætning.
google-github-actions/auth⚠️KodegennemgåetSamme OIDC-forudsætning. Opret en GCP Workload Identity Federation-pool med fremforges udsteder. Se runbooken til opsætning af OIDC for runnere. Godkendelse med en servicekontonøgle virker uden OIDC-opsætning.
sonarsource/sonarcloud-github-action⚠️KodegennemgåetScanning og quality gate virker uændret (kalder SonarClouds API direkte). Inline-dekoration af PR’er (reviewkommentarer) bruger GitHubs Checks API; Forgejos understøttelse af Checks API er delvis, så dekorationen kan dukke op som en commit-status i stedet for inline-annotationer. Fungerer som bestået/fejlet-gate; mængden af annotationer er anderledes.
dorny/paths-filter✅KodegennemgåetLæser fil-diff via GITHUB_EVENT_PATH-payloaden og Git-kommandoer. Ingen kald, der kun findes i GitHubs API. Virker uændret.
softprops/action-gh-release✅KodegennemgåetBruger GitHubs Releases API via GITHUB_API_URL. Forgejo implementerer Releases API’et. Virker uændret.
dorny/test-reporter⚠️KodegennemgåetFortolker testresultatfiler og opretter en Check Run. Forgejo understøtter Check Runs, men grænserne for annotationer er anderledes end GitHubs (GitHub tillader 50 annotationer pr. Check Run; Forgejos grænse kan variere med versionen). Ved store testsuiter kan annotationer blive afkortet. Bestået/fejlet-status rapporteres altid korrekt.

Opsætning af OIDC-føderation

Actions, der bruger OIDC (azure/login, aws-actions/configure-aws-credentials, google-github-actions/auth), kræver et engangstrin, hvor fremforge registreres som en betroet OIDC-udsteder hos cloududbyderen.

fremforges OIDC-discovery-endpoint: https://frem.sh/_app/runner/oidc/.well-known/openid-configuration (ét fælles endpoint for alle tenants; iss-claimet i hvert token, en runner udsteder, er https://frem.sh/_app/runner/oidc). Adskillelse af tillid pr. tenant håndhæves ved at fastlåse betingelser i cloudens trust-politik på JWT-claimet repository_owner, samme mønster som i GitHub Actions.

Den fulde trin-for-trin-vejledning til Azure AD, AWS IAM og GCP Workload Identity står i runbooken til opsætning af OIDC for runnere.

Build af container-images

docker build og docker compose kører direkte på runneren, og docker/build-push-action og docker/setup-buildx-action virker uændret (se Runner-images for runnermodellen og adgangen til Docker). kaniko er forudinstalleret som et alternativ uden daemon, når du vil have hurtigere koldstart eller caching af lag i et eksternt registry:

- name: Build + push image (kaniko)
  run: |
    /usr/local/bin/kaniko \
      --context=$GITHUB_WORKSPACE \
      --dockerfile=Dockerfile \
      --destination=registry.example.com/$GITHUB_REPOSITORY:$GITHUB_SHA

Til ren kopiering, omtagging og push af images mellem registries virker den forudinstallerede skopeo uden en Docker-daemon. Se Runner-image for hele mønstret.

Når du finder et hul

Finder du en Marketplace-action, der burde være i top 20, og som vi ikke har vurderet kompatibiliteten for, eller en action på listen her, der ikke opfører sig som beskrevet, så skriv til support@frem.sh med en emnelinje, der starter med MARKETPLACE COMPAT -. Vi verificerer den og opdaterer matrixen.

Ud over top 20

De fleste andre Marketplace-actions virker bare. Undtagelserne er actions, der:

  • Er afhængige af GitHub-interne API-endpoints (Codespaces API, Copilot API, GitHub Packages’ container-registry-API ud over almindelig OCI-push/pull).
  • Har GitHubs OIDC-udsteder-URL (https://token.actions.githubusercontent.com) hårdkodet i stedet for at læse ACTIONS_ID_TOKEN_REQUEST_URL.
  • Kræver GitHub-specifik godkendelse ud over GITHUB_TOKEN.

For ikke-verificerede actions uden for top 20: prøv dem. De fleste virker. De få, der ikke gør, dokumenterer vi, og så laver vi enten en wrapper eller beskriver hullet i migreringsvejledningerne.

Se også