| # Push release tags on sub-repos
name: Push releases
on:
  release:
    types: [published]
jobs:
  split-release:
    name: Split release
    strategy:
      fail-fast: false
      matrix:
        library: ['Files', 'Data', 'Cookies', 'Session', 'Container', 'Archive']
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v1
      - name: Get the tag name
        uses: olegtarasov/get-tag@v1
        id: tagName
      - uses: actions/cache@v1
        id: cache
        with:
          path: ./splitsh
          key: ${{ runner.os }}-${{ hashFiles('**/composer.json') }}
      - name: Install splitsh
        if: steps.cache.outputs.cache-hit != 'true'
        run: |
          mkdir ./splitsh
          wget https://github.com/splitsh/lite/releases/download/v1.0.1/lite_linux_amd64.tar.gz
          tar -zxpf lite_linux_amd64.tar.gz --directory ./splitsh
      - name: Update ${{ matrix.library }} repository
        run: |
          SHA1=`./splitsh/splitsh-lite --prefix=src/${{ matrix.library }} --origin=refs/tags/${{ steps.tagName.outputs.tag }}`
          git remote add ${{ matrix.library }} https://${{ secrets.AUTH_TOKEN }}@github.com/zestframework/${{ matrix.library }}
          git push -f ${{ matrix.library }} ${SHA1}:master
          git tag -d ${{ steps.tagName.outputs.tag }}
          git tag ${{ steps.tagName.outputs.tag }} ${SHA1}
          git push ${{ matrix.library }} ${{ steps.tagName.outputs.tag }}
 |