GitHub Actions Workflow-generator

Nästa

Ett färskt GitHub-repo utan CI är ett git push från nästa trasiga deploy. Den här generatorn skriver en start-.github/workflows/ci.yml för Node, PHP eller Laravel, och kopplar ihop checkout, rätt runtime-action, beroendeinstallation och standardtestkommandot, allt du behöver för att tända den gröna/röda pricken.

Så genererar du en workflow

  1. 1

    Välj stacken

    Node (använder `actions/setup-node`), PHP (använder `shivammathur/setup-php`) eller Laravel (PHP + `php artisan test`).

  2. 2

    Ställ in huvudgrenen

    `main` är standard; åsidosätt om ditt repo fortfarande använder `master` eller ett anpassat namn.

  3. 3

    Generera

    Verktyget sätter ihop en YAML-fil med `push`- och `pull_request`-triggers på den grenen.

  4. 4

    Committa till .github/workflows/

    Skapa filen på `.github/workflows/ci.yml` och pusha: Actions-fliken tänds vid nästa commit.

Hur workflowen ser ut

name: CI
on:
  push:
    branches: [main]
  pull_request:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.4'
      - run: composer install --no-interaction
      - run: php artisan test

Actions fästa av generatorn

Action Syfte
actions/checkout@v4 Klona repot in i runnern
actions/setup-node@v4 Installera en Node-verktygskedja
shivammathur/setup-php@v2 Installera en PHP-version med tillägg

Vad du lägger till härnäst

  • Lint-steg (npm run lint, ./vendor/bin/phpstan analyse) före teststeget.
  • Matrisbygge: kör över flera Node/PHP-versioner med strategy.matrix.
  • Uppladdning av täckning: codecov-action eller coveralls-action efter teststeget.
  • Hemligheter: hårdkoda aldrig token, använd secrets.XXX och definiera dem under Settings → Actions.

Vanliga fallgropar

  • Att glömma hämta taggar: with: { fetch-depth: 0 }checkout när din utgåvelogik läser taggar.
  • Att använda latest Docker-images: fäst versioner för att hålla körningar reproducerbara månader senare.
  • Att köra en 30 minuter lång testsvit vid varje push: dela upp långa jobb med needs: för att parallellisera.

Vanliga frågor

.github/workflows/ci.yml i ditt repos rot. GitHub plockar upp valfri YAML under den katalogen och visar var och en som en separat workflow i Actions-fliken.

Pull requests från forkar kör workflowen men med GITHUB_TOKEN satt till skrivskyddad. Externa bidragsgivare kan inte komma åt dina hemligheter om du inte uttryckligen väljer det.

Lägg till ett strategy.matrix.php: [8.2, 8.3, 8.4]-block och referera till ${{ matrix.php }} i setup-php-steget. Runnern startar ett jobb per version parallellt.

Nej. Den genererade YAML:en visas på sidan, laddas inte upp eller sparas någonstans, och du kopierar ut den själv.

Relaterade verktyg

Verktyget finns på andra språk