Hoppa till huvudinnehållet

Felsökning

Vanliga problem och hur du löser dem. Varje avsnitt länkar till den relevanta referenssidan för mer sammanhang.

Autentisering och inloggning

Mejlet för återställning av lösenord kommer inte fram

Kontrollera din skräppostmapp. Mejl för återställning av lösenord kommer från hello@frem.sh. Om din organisation använder SSO är återställning av lösenord inte rätt väg. Använd i stället knappen Sign in with <IdP> på inloggningssidan. SSO-konton har inte nödvändigtvis något lokalt lösenord.

SSO-inloggningen misslyckas med redirect_uri mismatch

IdP:n avvisade återanropet eftersom den redirect-URI som är registrerad där inte exakt stämmer med den som fremforge skickar. Redirect-URI:n är https://frem.sh/user/oauth2/<auth-source-name>/callback, där <auth-source-name> är autentiseringskällans exakta Namn som det visas på dess kort under Organisationens administration → SSO; kopiera namnet i stället för att skriva det för hand. Ett enda avslutande snedstreck som skiljer orsakar det här felet. Se OIDC-inloggning med enkel inloggning.

SSH: Permission denied (publickey)

Tre vanliga orsaker:

  • Nyckeln har inte lagts till i ditt fremforge-konto (Användarinställningar → SSH/GPG-nycklar → Lägg till nyckel).
  • Nyckelfilen som din SSH-klient pekar på tillhör ett annat användarkonto.
  • Nyckelformatet stöds inte (Ed25519, RSA 3072+ och ECDSA stöds; DSA-nycklar avvisas).

Testa din nyckel: ssh -T -p 443 git@ssh.frem.sh. fremforge exponerar SSH på port 443 via ssh.frem.sh (port 22 är inte öppen). En lyckad autentisering returnerar Hi <username>! You've successfully authenticated.... Se Kom igång för hur du lägger upp nycklar och Ansluta för Host-aliaset i ~/.ssh/config som låter dig fortsätta skriva git@frem.sh i dina remotes.

PAT har gått ut / 401 vid API-anrop

PAT:er går ut efter 90 dagar, vilket också är max (ttl_days tar emot 1–90). Kontrollera:

  1. Att token fortfarande finns i listan under Användarinställningar → Git-åtkomsttoken.
  2. Att token har det scope som krävs. REST-anrop mot kontrollplanet använder fremforges scopevokabulär (orgs:read, findings:read, …); se API-tokens. Paketregister tar inte emot någon PAT alls; se Paket / register nedan.
  3. Att tokenvärdet kopierades korrekt (det visas bara en gång när det skapas).

Skapa en ny token om du är osäker.

CI / runners

Jobbet fastnar i kön

Organisationen är garanterad 2 samtidiga jobb per användare (minst 10, högst 60), och kan använda upp till 60 när plattformen har ledig kapacitet. En organisation på provperiod kör 2 åt gången. Se hur många jobb som körs just nu på frem.sh/<org>/_admin/billing. Om alla organisationens platser för jobb är upptagna väntar jobben i kön tills en plats blir ledig. De avbryts inte.

Om kön är tom men jobben ändå har fastnat kan runner-agenten vara offline. Kontrollera runnerns status i organisationens Forgejo-inställningar under Inställningar → Actions → Körare (frem.sh/org/<org>/settings/actions/runners).

actions/checkout misslyckas: repo not found

Den inbyggda FORGEJO_TOKEN behöver behörigheten contents: read. Lägg till ett permissions:-block i jobbet eller workflowet:

permissions:
  contents: read

Om repot är privat och token är en PAT i stället för den inbyggda token, kontrollera att PAT:en har scopet repo.

Hemligheten är satt men är tom i jobbet

Hemligheten är satt på fel nivå. Hemligheter har följande prioritetsordning: miljöhemlighet → repohemlighet → organisationshemlighet. Om ditt jobb deklarerar environment: production injiceras bara hemligheter som är satta på den miljön (och repo- och organisationshemligheter som den inte skuggar). Kontrollera att hemligheten är satt på den nivå som stämmer med jobbets environment:-deklaration.

Docker: Cannot connect to the Docker daemon

fremforges runners är tillfälliga virtuella maskiner, en per commit (debian 13), med en inbyggd Docker-daemon förinstallerad. docker build, docker run och docker/build-push-action@v5 fungerar alla utan extra konfiguration. Om du ser det här felet, kontrollera att jobbet deklarerar runs-on: fremforge (så att det hamnar på en fremforge-runner och inte på en självhostad etikett utan Docker):

jobs:
  build-image:
    runs-on: fremforge
    steps:
      - uses: actions/checkout@v4
      - uses: docker/setup-buildx-action@v3
      - uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: registry.example.com/${{ github.repository }}:${{ github.sha }}

För ren kopiering, omtaggning och push av images mellan register finns skopeo förinstallerat. Se CI-runners för tillgängliga runner-etiketter och docs.frem.sh/build/actions/runner-image/ för hela listan över förinstallerade verktyg.

upload-artifact försöker igen vid 413 och misslyckas sedan med Status Code: 413

Organisationens kvot för Actions-artefakter (5 GiB per användare) är full. Stegets logg visar A 413 status code has been received, will attempt to retry the upload flera gånger, sedan Status Code: 413 och Status Message: Request Entity Too Large. Att köra jobbet igen hjälper inte förrän utrymme har frigjorts. Se Actions-artefakter och bilagor.

Action hittades inte: uses: some/action@v1

De flesta actions från GitHub Marketplace fungerar på fremforge. Actions som anropar github.com/api/v3 direkt misslyckas eftersom de riktar sig mot GitHubs API, inte fremforges. Se Kompatibilitet med Marketplace för kompatibilitetsmatrisen per action.

Git och repon

Push avvisad: hemlighet upptäckt

Gitleaks (pre-receive-hook) blockerade pushen eftersom ett hemlighetsmönster upptäcktes i committen. Pushen godtogs inte. Hemligheten nådde aldrig repot.

Så löser du det:

  1. Rotera hemligheten direkt i systemet som utfärdade den, även om pushen avvisades. Utgå från att värdet är komprometterat från det ögonblick det dök upp i din arbetskatalog.
  2. Ta bort hemligheten från din arbetskatalog och commit-historik med git filter-repo.
  3. Pusha den rensade historiken igen.

Se Säkerhet och leveranskedja för vilka mönster som upptäcks.

Push avvisad: branchskydd

En regel för branchskydd blockerar pushen. Kontrollera reglerna under Repoinställningar → Grenar → <branch name>. Vanliga orsaker: en obligatorisk statuskontroll har inte gått igenom, force-push är avstängt, eller pushen kräver en signerad commit.

LFS: batch request failed

Git LFS är tillgängligt i varje repo; det finns ingen inställning per repo att slå på. Repoinställningar → LFS listar de LFS-filer som repot redan lagrar. Om felet kvarstår, kontrollera organisationens lagringskvot. LFS-lagring räknas mot LFS-poolen på 5 GB per användare, som är separat från paketregistrets pool på 5 GB per användare.

Webhooks

Webhooken utlöses inte

Kontrollera de senaste leveransförsöken under Repoinställningar → Webbkrokar → <webhook> → Färska leveranser. Den vanligaste orsaken är att payload-URL:en inte går att nå från fremforges utgående IP-adresser i T Cloud Public. Om leveranser visas som misslyckade innehåller svaret oftast den HTTP-status som din endpoint returnerade. Se Webhooks för utgående IP-intervall.

Webhooken utlöses men innehållet är fel

Kontrollera vilka händelsetyper som prenumereras. En push till en tagg skickar en push-händelse, inte en create-händelse. Kontrollera Events-konfigurationen på webhooken. Se Webhooks för hela händelsevokabulären.

SSO / SCIM

SCIM-användaren är provisionerad men kan inte logga in

Domänverifiering krävs innan användare som provisionerats via SCIM kan autentisera sig. Verifiera e-postdomänen under Organisationens administration → SSO → Verifierade domäner. Domänen i användarens e-postadress måste finnas där.

Paket / register

Register tar bara emot två autentiseringsuppgifter: den automatiska token i ett Forgejo Actions-jobb, och den kortlivade token som fremforge CLI lämnar till dina verktyg. API-tokens (ffp_…) avvisas. Se Paketregister → Autentisering.

Actions-jobb: 403 this job's token can only write packages linked to its own repository

Jobbet försökte publicera ett paket som hör till ett annat repo i organisationen, eller ett som inte är kopplat till något repo. Ett jobbs token skriver bara paket som är kopplade till jobbets eget repo, och nya paket som den skapar. Publicera från repot som paketet hör till, eller koppla ett okopplat paket till det här repot på paketets sida Settings.

Actions-jobb: 401 eller 403 vid publicering från en pull request

Körningar för pull requests från forkar får bara läsåtkomst. Publicera från ett push- eller tagg-workflow i själva repot.

docker pull eller push: unauthorized

På din dator kontrollerar du CLI-inloggningen och hjälpprogrammet:

fremforge auth status
printf 'frem.sh\n' | docker-credential-fremforge get    # prints JSON when the helper works
  • not logged in → kör fremforge auth login.
  • docker-credential-fremforge: command not found → hjälpprogrammets katalog (~/.local/bin) finns inte i din PATH, eller så har fremforge auth configure docker aldrig körts.
  • fremforge manages frem.sh registry credentials efter docker login frem.sh → förväntat; hjälpprogrammet vägrar sparade lösenord. Använd fremforge auth login.

npm, Maven eller Gradle: 401 efter en stund

De här verktygen läser en kopia av token från sin konfigurationsfil, och den kopian går ut efter högst en timme. Kör valfritt fremforge-kommando, eller fremforge auth refresh, för att skriva om den. Lägg till "preinstall": "fremforge auth refresh --quiet" i package.json, eller ett steg före bygget i din IDE, så att byggen alltid börjar med en färsk token.

pip eller uv: 401 eller en fråga om lösenord

pip och uv frågar bara keyring när de blir tillsagda: pip config set global.keyring-provider subprocess, eller UV_KEYRING_PROVIDER=subprocess för uv. Index-URL:en måste innehålla ditt användarnamn (https://<username>@frem.sh/api/packages/<org>/pypi/simple/). Kontrollera att den keyring som finns i ~/.local/bin kommer först i din PATH: command -v keyring.

Tillgänglighet för organisationens slug och namn

En organisations slug måste vara 3–30 tecken, med gemener, bara bokstäver, siffror och bindestreck, och får inte börja eller sluta med bindestreck.

Om en slug visas som upptagen vid registreringen är den antingen registrerad av en annan organisation eller finns på listan över reserverade namn. Den reserverade listan omfattar vanliga rollnamn (admin, api, billing, support, status, security, abuse, root, system, fremforge och liknande) för att förhindra nätfiske eller krockar med tjänstesökvägar.

Namn som ligger nära varumärken (till exempel slugs som påminner mycket om välkända varumärken) hamnar i en kö för granskning i stället för att blockeras direkt. Om din registrering ligger i kön får du ett mejl från support@frem.sh inom en arbetsdag. I de flesta fall godkänns legitima företag som använder sitt eget varumärke utan problem.

Om din önskade slug är upptagen av en inaktiv organisation eller en som bara håller platsen, kontakta support@frem.sh. Ta med den önskade slugen och din organisations domän eller andra bevis på ägarskap. Överföringar av slugs hanteras från fall till fall.

Byta organisationens slug efter att den skapats: Organisationens administration → Inställningar → Byt namn på organisationen. Alla befintliga repo-URL:er, klon-URL:er och API-anrop som använder den gamla slugen fortsätter att omdirigeras i 90 dagar. Efter 90 dagar blir den gamla slugen tillgänglig för registrering.

Korshänvisningar