Naar de hoofdinhoud

Compatibiliteit van de top 20 Marketplace-actions

De meeste Marketplace-actions werken zonder aanpassing op fremforge, omdat fremforge-runners de code van actions ophalen via Forgejo-pull-mirrors van GitHub-uitgevers die fremverk beheert. Een workflow met uses: actions/checkout@v4 verwijst naar https://frem.sh/actions/checkout, een Forgejo-pull-mirror van github.com/actions/checkout die elke 8 uur met de upstream synchroniseert. Geen enkele uitvoering van een klantworkflow bereikt github.com rechtstreeks: runners zien alleen de gespiegelde kopie binnen de EU, conform de toezegging in bijlage A.6 van de DPA. De Forgejo Actions-runtime biedt dezelfde omgevingsvariabelen als GitHub Actions (GITHUB_TOKEN, GITHUB_SHA, GITHUB_REF, GITHUB_API_URL enzovoort), zodat de regel uses: actions/checkout@v4 in een workflow ongemerkt via de mirror wordt opgelost.

Gespiegelde upstream-uitgevers (per 2026-06-02)

Deze GitHub-uitgevers worden als Forgejo-pull-mirrors op frem.sh gespiegeld en zijn vanuit elke klantworkflow zonder problemen te gebruiken:

  • 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

Heb je een action nodig van een uitgever die hierboven niet staat, dien dan een mirrorverzoek in. We voegen een nieuwe pull-mirror van github.com/<publisher>/<repo> toe en je workflow draait bij de volgende dispatch zonder problemen. Mirrorverzoeken zijn doorgaans binnen één werkdag afgehandeld. Gereserveerde uitgeversnamen (aws-actions, azure, microsoft, sigstore enzovoort) zijn vooraf vastgelegd op de identiteitslaag van Forgejo, zodat geen enkele klanttenant ze kan kapen om via jouw workflows kwaadaardige code binnen te smokkelen.

Deze matrix dekt de 20 meest gedownloade actions. Elke regel heeft een verificatieniveau:

  • Code-reviewed: beoordeeld op basis van de broncode van de action en meldingen uit de Forgejo-community; nog niet gedraaid op een live door fremforge gehoste runner.
  • Runner-verified: gedraaid op een echte door fremforge gehoste runner; de uitkomst is in de praktijk bevestigd.

Regels met Runner-verified komen erbij naarmate de checklist met lanceringsblokkades van fase 1 wordt afgewerkt.

Legenda van de status

  • ✅ Werkt zoals het is: draait ongewijzigd; workflows gaan zonder aanpassing over.
  • ⚠️ Werkt, met opmerking: draait, maar een bepaald gedrag wijkt af of er moet aan een voorwaarde worden voldaan. De opmerking beschrijft wat je moet doen.
  • 🔧 Wrapper nodig: een kleine wrapper of composite action herstelt de compatibiliteit. De wrappercode wordt meegeleverd.
  • ❌ Geen equivalent: hangt af van infrastructuur die alleen GitHub heeft en kan niet tegen fremforge draaien. Er wordt een alternatief aangeraden.

Wat we dekken

De 20 meest gebruikte actions op de GitHub Marketplace op het moment van lancering. De lijst wordt elk kwartaal herzien; een action die uit de top 20 valt, blijft in de matrix tot gebruiksgegevens aangeven dat hij eruit kan.

Compatibiliteitsmatrix

ActionStatusNiveauOpmerkingen
actions/checkout✅Code-reviewedGebruikt GITHUB_TOKEN en het Git-endpoint van Forgejo. Geen GitHub-specifieke API-aanroepen. Werkt ongewijzigd.
actions/setup-node✅Code-reviewedEen tool-cache-action. Geen GitHub-API-aanroep als de versie in de tool-cache van de runner staat; anders leest hij zijn versielijst van api.github.com. Zie Rate limit van de GitHub-API.
actions/setup-python✅Code-reviewedHetzelfde tool-cache-patroon als setup-node, inclusief de opmerking over de rate limit van de GitHub-API.
actions/setup-go✅Code-reviewedHetzelfde tool-cache-patroon, inclusief de opmerking over de rate limit van de GitHub-API.
actions/setup-java✅Code-reviewedHetzelfde tool-cache-patroon. Temurin komt van Adoptium; alleen distributies waarvan de versielijst op GitHub staat (zoals de Microsoft Build of OpenJDK) roepen api.github.com aan, zie rate limit van de GitHub-API.
actions/setup-dotnet✅Code-reviewedHetzelfde tool-cache-patroon. Werkt ongewijzigd.
actions/cache✅Code-reviewedLeest ACTIONS_CACHE_URL uit de omgeving van de runner; fremforge-runners laten die verwijzen naar de eigen cacheservice van fremforge, per repository afgebakend (zie Caching). Werkt ongewijzigd, net als de ingebouwde caching van de setup-*-actions.
actions/upload-artifact✅Code-reviewedGebruikt ACTIONS_RUNTIME_URL en de artifact-API. Forgejo 1.22+ implementeert dit endpoint; fremforge-runners draaien op een compatibele versie. Werkt ongewijzigd.
actions/download-artifact✅Code-reviewedDezelfde artifact-API als upload-artifact. Werkt ongewijzigd.
docker/login-action✅Code-reviewedRoept de doelregistry rechtstreeks aan (Docker Hub, GHCR, een eigen registry). Geen GitHub-specifieke API. Werkt ongewijzigd.
docker/build-push-action✅Code-reviewedDocker is native beschikbaar op de runner (zie Runner-images), dus deze action werkt meteen (inclusief BuildKit-functies). kaniko blijft vooraf geïnstalleerd als alternatief zonder daemon; zie Runner-image / Containerbuilds.
docker/setup-buildx-action✅Code-reviewedBuildx werkt met de native Docker op de runner; BuildKit-functies (cache-from/to, multi-platform via QEMU) zijn beschikbaar.
peter-evans/create-pull-request✅Code-reviewedGebruikt de REST-API van GitHub (pull request aanmaken, branch pushen) via GITHUB_API_URL, die fremforge op het API-endpoint van Forgejo zet. De pull-request-API van Forgejo is voor de aanroepen van deze action compatibel met GitHub v3. Werkt ongewijzigd.
azure/login⚠️Code-reviewedOIDC-federatie: de action vraagt een OIDC-token op bij ACTIONS_ID_TOKEN_REQUEST_URL, die fremforge-runners aanbieden. Je moet in Azure AD een federated credential instellen met de OIDC-issuer van fremforge (https://frem.sh/_app/runner/oidc, één globale issuer voor alle tenants). Zie het runbook voor OIDC op runners voor de stappen. De route met gebruikersnaam en wachtwoord (creds) werkt zonder OIDC-configuratie.
aws-actions/configure-aws-credentials⚠️Code-reviewedDezelfde OIDC-voorwaarde als azure/login. Stel een AWS IAM OIDC-identiteitsprovider in met de issuer-URL van fremforge. Zie het runbook voor OIDC op runners. De route met een statische access key werkt zonder OIDC-configuratie.
google-github-actions/auth⚠️Code-reviewedDezelfde OIDC-voorwaarde. Stel een GCP Workload Identity Federation-pool in met de issuer van fremforge. Zie het runbook voor OIDC op runners. Authenticatie met een service-account-sleutel werkt zonder OIDC-configuratie.
sonarsource/sonarcloud-github-action⚠️Code-reviewedDe logica voor scannen en de quality gate werkt ongewijzigd (roept de SonarCloud-API rechtstreeks aan). Inline decoratie van pull requests (reviewopmerkingen plaatsen) gebruikt de Checks API van GitHub; Forgejo ondersteunt die API gedeeltelijk, dus de decoratie kan als commitstatus verschijnen in plaats van als inline annotaties. Werkt voor de geslaagd/mislukt-gate; het aantal annotaties verschilt.
dorny/paths-filter✅Code-reviewedLeest de bestandsdiff via de payload in GITHUB_EVENT_PATH en Git-commando’s. Geen aanroepen die alleen de GitHub-API kent. Werkt ongewijzigd.
softprops/action-gh-release✅Code-reviewedGebruikt de Releases API van GitHub via GITHUB_API_URL. Forgejo implementeert de Releases API. Werkt ongewijzigd.
dorny/test-reporter⚠️Code-reviewedLeest testresultaatbestanden en plaatst een Check Run. Forgejo ondersteunt Check Runs, maar de limieten voor annotaties verschillen van die van GitHub (GitHub staat 50 annotaties per Check Run toe; de limiet van Forgejo kan per versie verschillen). Bij grote testsuites kunnen annotaties worden afgekapt. De status geslaagd/mislukt wordt altijd correct gemeld.

OIDC-federatie instellen

Actions die OIDC gebruiken (azure/login, aws-actions/configure-aws-credentials, google-github-actions/auth) vereisen een eenmalige configuratiestap waarin je fremforge bij de cloudprovider registreert als vertrouwde OIDC-issuer.

Het OIDC-discovery-endpoint van fremforge: https://frem.sh/_app/runner/oidc/.well-known/openid-configuration (één globaal endpoint voor alle tenants; de iss-claim in elk token dat een runner uitgeeft, is https://frem.sh/_app/runner/oidc). Het vertrouwen wordt per tenant gescheiden door in het trust-beleid van de cloud voorwaarden vast te leggen op de JWT-claim repository_owner, hetzelfde patroon als bij GitHub Actions.

De volledige stapsgewijze instructies voor Azure AD, AWS IAM en GCP Workload Identity staan in het runbook voor OIDC op runners.

Containerimages bouwen

docker build en docker compose draaien native op de runner, en docker/build-push-action en docker/setup-buildx-action werken ongewijzigd (zie Runner-images voor het runnermodel en de beschikbaarheid van Docker). kaniko is vooraf geïnstalleerd als alternatief zonder daemon, voor als je een snellere koude start of caching van lagen in een externe registry wilt:

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

Voor het puur kopiëren, hertaggen en pushen van images tussen registries werkt het vooraf geïnstalleerde skopeo zonder Docker-daemon. Zie Runner-image voor het volledige patroon.

Als je een gat vindt

Vind je een Marketplace-action die in de top 20 hoort en waarvan we de compatibiliteit niet hebben aangegeven, of een action op deze pagina die zich niet gedraagt zoals beschreven, meld het dan via support@frem.sh met een onderwerpregel die begint met MARKETPLACE COMPAT -. We controleren het en werken de matrix bij.

Buiten de top 20

De meeste andere Marketplace-actions werken gewoon. De uitzonderingen zijn actions die:

  • Afhankelijk zijn van interne API-endpoints van GitHub (Codespaces-API, Copilot-API, de API van de containerregistry van GitHub Packages voor meer dan standaard OCI-push/pull).
  • De OIDC-issuer-URL van GitHub (https://token.actions.githubusercontent.com) hardgecodeerd hebben in plaats van ACTIONS_ID_TOKEN_REQUEST_URL te lezen.
  • GitHub-specifieke authenticatie vereisen naast GITHUB_TOKEN.

Voor niet-geverifieerde actions buiten de top 20: probeer het gewoon. De meeste werken. Meld de paar die niet werken, dan leveren we een wrapper of nemen we het gat op in de migratiegidsen.

Zie ook

  • Runner-images: beschikbare runnerlabels en bij welke image elk label hoort.
  • OIDC op runners: stel het vertrouwen bij de cloudprovider in voor actions die met OIDC authenticeren.
  • Migratiegidsen: hoe verwijzingen naar Marketplace-actions meegaan bij een migratie van platform.
  • Publieke REST-API: de API van fremforge voor actions die het platform moeten terugroepen.