laravel的github行动
#github #php #laravel #ci

发布GitHub操作适当地适用于默认Laravel应用,只需选择对您自己的项目有意义的内容即可。

此操作文件需要一个.env.ci,它只是.env.example的副本,请随时调整此文件以满足您的项目要求。

只需运行phpunit测试:

name: CI
on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main

jobs:
  tests:
    runs-on: ubuntu-latest

    services:
      mysql:
        image: mysql:8.0
        env:
          MYSQL_ALLOW_EMPTY_PASSWORD: yes
          MYSQL_DATABASE: test
        ports:
          - 3306:3306
        options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 1

    - name: Cache composer dependencies
      uses: actions/cache@v2
      with:
        path: vendor
        key: composer-${{ hashFiles('**/composer.lock') }}
        restore-keys: |
          composer-

    - name: Install PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.1

    - name: Install composer dependencies
      run: |
        composer install --no-scripts

    - name: Prepare Laravel Application
      run: |
        cp .env.ci .env
        php artisan key:generate

    - name: Run Test suite
      run: php artisan test

GitHub操作以运行Phpunit测试和NPM工作流程

name: CI
on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main

jobs:
  tests:
    runs-on: ubuntu-latest

    services:
      mysql:
        image: mysql:8.0
        env:
          MYSQL_ALLOW_EMPTY_PASSWORD: yes
          MYSQL_DATABASE: test
        ports:
          - 3306:3306
        options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 1

    - name: Cache composer dependencies
      uses: actions/cache@v2
      with:
        path: vendor
        key: composer-${{ hashFiles('**/composer.lock') }}
        restore-keys: |
          composer-

    - name: Install PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.1

    - name: Install composer dependencies
      run: |
        composer install --no-scripts

    - name: Prepare Laravel Application
      run: |
        cp .env.ci .env
        php artisan key:generate

    - name: Run Test suite
      run: php artisan test

    - name: Install NPM dependencies
      run: npm install

    - name: Compile assets
      run: npm run build