.github/workflows/bundler.yml

Summary

Maintainability
Test Coverage
name: Bundler

on: create

jobs:
  autocommit:
    name: Update to stable dependencies
    if: startsWith(github.ref, 'refs/heads/release/')
    runs-on: ubuntu-latest
    container:
      image: atk4/image:latest # https://github.com/atk4/image
    steps:
      - uses: actions/checkout@master
      - run: echo ${{ github.ref }}
      - name: Update to stable dependencies
        run: |
          # replaces X keys with X-release keys
          jq '. as $in | reduce (keys_unsorted[] | select(endswith("-release")|not)) as $k ({}; . + {($k) : (($k + "-release") as $kr | $in | if has($kr) then .[$kr] else .[$k] end) } )' < composer.json > tmp && mv tmp composer.json
          composer config version --unset
          v=$(echo ${{ github.ref }} | cut -d / -f 4)
          echo "::set-env name=version::$v"

      - uses: teaminkling/autocommit@master
        with:
          commit-message: Setting release dependencies
      - uses: ad-m/github-push-action@master
        with:
          branch: ${{ github.ref }}
          github_token: ${{ secrets.GITHUB_TOKEN }}

      - name: pull-request
        uses: romaninsh/pull-request@master
        with:
          source_branch: "release/${{ env.version }}"
          destination_branch: "master"          # If blank, default: master
          pr_title: "Releasing ${{ env.version }} into master"
          pr_body: |
            - [ ] Review changes (must include stable dependencies)
            - [ ] Merge this PR into master (will delete ${{ github.ref }})
            - [ ] Go to Releases and create TAG from master
            Do not merge master into develop
          pr_reviewer: "romaninsh"
          pr_assignee: "romaninsh"
          github_token: ${{ secrets.GITHUB_TOKEN }}