From e898d735847bc4e9a0cfac368b1d152ac0218e24 Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Tue, 21 Jun 2022 09:55:39 +0200 Subject: Workflow automatisation Signed-off-by: Carl Schwan --- .github/workflows/composer-auto.yml | 82 +++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/composer-auto.yml diff --git a/.github/workflows/composer-auto.yml b/.github/workflows/composer-auto.yml new file mode 100644 index 00000000..7c97cbb4 --- /dev/null +++ b/.github/workflows/composer-auto.yml @@ -0,0 +1,82 @@ +name: Compile Command +on: + issue_comment: + types: [created] + +jobs: + init: + runs-on: ubuntu-latest + + # On pull requests and if the comment starts with `/composer-update` + if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/composer-update') + + outputs: + git_path: ${{ steps.git-path.outputs.path }} + head_ref: ${{ steps.comment-branch.outputs.head_ref }} + + steps: + - name: Check actor permission + uses: skjnldsv/check-actor-permission@v2 + with: + require: write + + - name: Add reaction on start + uses: peter-evans/create-or-update-comment@v1 + with: + token: ${{ secrets.COMMAND_BOT_PAT }} + repository: ${{ github.event.repository.full_name }} + comment-id: ${{ github.event.comment.id }} + reaction-type: "+1" + + process: + runs-on: ubuntu-latest + needs: init + + steps: + - name: Checkout ${{ needs.init.outputs.head_ref }} + uses: actions/checkout@v2 + with: + token: ${{ secrets.COMMAND_BOT_PAT }} + fetch-depth: 0 + ref: ${{ needs.init.outputs.head_ref }} + + - name: Setup git + run: | + git config --local user.email "nextcloud-command@users.noreply.github.com" + git config --local user.name "nextcloud-command" + + - name: Set up php7.4 + uses: shivammathur/setup-php@master + with: + php-version: 7.4 + coverage: none + + - name: Update composer + run: sudo composer self-update && composer --version + + - name: Delete dependencies + run: rm -rf ./*/ + + - name: Download dependencies + run: composer install --no-dev + + - name: Remove tests and other untracked files + run: git clean -X -d -f + + - name: Dump Autoload + run: composer dump-autoload + + - name: Commit and push amend + run: | + git add ${{ needs.init.outputs.git_path }} + git commit --amend --no-edit --signoff + git push --force origin ${{ needs.init.outputs.head_ref }} + + - name: Add reaction on failure + uses: peter-evans/create-or-update-comment@v1 + if: failure() + with: + token: ${{ secrets.COMMAND_BOT_PAT }} + repository: ${{ github.event.repository.full_name }} + comment-id: ${{ github.event.comment.id }} + reaction-type: "-1" \ No newline at end of file -- cgit v1.2.3