记录一下github actions 工作流

Github示例


  • 官方以及第三方提供的actions

github actions说明


  • github官方说明

适用php的示例

swoole test.yml

借用 hyperf/component-creator

点击查看代码
name: PHPUnit

on: [ push, pull_request ]

env:
  SWOOLE_VERSION: '4.8.10'
  SWOW_VERSION: 'develop'

jobs:
  ci:
    name: Test PHP ${{ matrix.php-version }} on ${{ matrix.engine }}
    runs-on: "${{ matrix.os }}"
    strategy:
      matrix:
        os: [ ubuntu-latest ]
        php-version: [ '7.3','7.4', '8.0' ]
        engine: [  'swoole' ]
      max-parallel: 5
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-version }}
          tools: phpize
          ini-values: opcache.enable_cli=0
          coverage: none
      - name: Setup Swoole
        if: ${{ matrix.engine == 'swoole' }}
        run: |
          cd /tmp
          sudo apt-get update
          sudo apt-get install libcurl4-openssl-dev
          wget https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz -O swoole.tar.gz
          mkdir -p swoole
          tar -xf swoole.tar.gz -C swoole --strip-components=1
          rm swoole.tar.gz
          cd swoole
          phpize
          ./configure --enable-openssl --enable-http2 --enable-swoole-curl --enable-swoole-json
          make -j$(nproc)
          sudo make install
          sudo sh -c "echo extension=swoole > /etc/php/${{ matrix.php-version }}/cli/conf.d/swoole.ini"
          php --ri swoole
      - name: Setup Packages
        run: composer update -o --no-scripts
      - name: Run Test Cases
        run: |
          vendor/bin/php-cs-fixer fix --dry-run # cs-fixer 格式化代码
          composer analyse # phpstan 静态代码分析
          composer test  # phpunit

正常php的 test.yml

点击查看代码
name: PHPUnit

on: [ push, pull_request ]

jobs:
  ci:
    name: Test PHP ${{ matrix.php-version }} on ${{ matrix.engine }}
    runs-on: "${{ matrix.os }}"
    strategy:
      matrix:
        os: [ ubuntu-latest ]
        php-version: ['7.4', '8.0' ]
      max-parallel: 7
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-version }}
          tools: phpize
          ini-values: opcache.enable_cli=0
          coverage: none
      - name: Setup Packages
        run: composer update -o --no-scripts
      - name: Run Test Cases
        run: |
          vendor/bin/php-cs-fixer fix --dry-run
          composer analyse
          composer test

你可能感兴趣的:(git,github,php,开发语言)