on:
  push:
    branches:
      - 'main'
jobs:
  ls:
    runs-on: docker
    container:
      image: git.php.fail/lubiana/container/php:8.4.1-ci
    steps:
      - name: Manually checkout
        env:
          REPO: '${{ github.repository }}'
          TOKEN: '${{ secrets.GITHUB_TOKEN }}'
          BRANCH: '${{ env.GITHUB_REF_NAME }}'
          GIT_SERVER: 'git.hannover.ccc.de'
        run: |
          git clone --branch $GITHUB_REF_NAME https://${TOKEN}@${GIT_SERVER}/${REPO}.git .
          git fetch
          git checkout ${{ github.head_ref }}
      - name: composer install
        env:
          COMPOSER_CACHE_DIR: /opt/hostedtoolcache/.composer/cache/files
        run: |
          mkdir -p ${{ env.COMPOSER_CACHE_DIR }}
          composer install
      - name: lint
        run: composer lint
      - name: test
        run: composer mutation
      - name: GIT commit and push all changed files
        env:
          CI_COMMIT_MESSAGE: Continuous Integration Fixes
          CI_COMMIT_AUTHOR: Continuous Integration
        run: |
          if [[ -n "$(git status -s)" ]]; then
            git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
            git config --global user.email "gitbot@users.noreply.php.fail"
            git commit -am "${{ env.CI_COMMIT_MESSAGE }}"
            git push
          fi