abbadon1334/atk4-fastroute

View on GitHub
.github/workflows/build-release.yml

Summary

Maintainability
Test Coverage
name: Build Release

on:
  push:
    branches:
      - '**\.build'
      - 'release/*'
      - '!**\.gen'

jobs:
  autocommit:
    name: Build Release
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/mvorisek/image-php:latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: ${{ github.ref }}

      - name: Install PHP dependencies
        run: composer update --ansi --prefer-dist --no-interaction --no-progress --optimize-autoloader

      - name: Composer unset version
        run: composer config version --unset

      - name: Update composer.json
        run: >-
          php -r '
          $f = __DIR__ . "/composer.json";
          $data = json_decode(file_get_contents($f), true);
          foreach ($data as $k => $v) {
              if (preg_match("~^(.+)-release$~", $k, $matches)) {
                  $data[$matches[1]] = $data[$k]; unset($data[$k]);
              }
          }
          $str = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . "\n";
          echo $str;
          file_put_contents($f, $str);
          '

      - name: Composer validate config
        run: composer validate --strict --no-check-lock && composer normalize --dry-run --no-check-lock

      - name: Commit
        run: |
          git config --global user.name "$(git show -s --format='%an')"
          git config --global user.email "$(git show -s --format='%ae')"
          git add -A && git diff --staged && git commit -m "Build Release"

      - name: Push
        uses: ad-m/github-push-action@master
        with:
          branch: ${{ github.ref }}.gen
          force: true
          github_token: ${{ secrets.GITHUB_TOKEN }}