diff options
author | John Molakvoæ <skjnldsv@users.noreply.github.com> | 2021-08-06 10:40:28 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-06 10:40:28 +0300 |
commit | 428b182c95b7e1ec1ba8bdbcc8188be50eb79f83 (patch) | |
tree | f2c9c30fb51eee25e16bb5ea53d950deb98aed0b | |
parent | 89c0e2800975bed2a3913714c59a84491cf02b53 (diff) |
Add files via upload
-rw-r--r-- | .github/workflows/command-compile.yml | 117 | ||||
-rw-r--r-- | .github/workflows/command-rebase.yml | 46 | ||||
-rw-r--r-- | .github/workflows/dependabot-approve-merge.yml | 29 |
3 files changed, 192 insertions, 0 deletions
diff --git a/.github/workflows/command-compile.yml b/.github/workflows/command-compile.yml new file mode 100644 index 0000000..090324e --- /dev/null +++ b/.github/workflows/command-compile.yml @@ -0,0 +1,117 @@ +name: Compile Command +on: + issue_comment: + types: [created] + +jobs: + init: + runs-on: ubuntu-latest + + # On pull requests and if the comment starts with `/compile` + if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/compile') + + outputs: + git_path: ${{ steps.git-path.outputs.path }} + arg1: ${{ steps.command.outputs.arg1 }} + arg2: ${{ steps.command.outputs.arg2 }} + 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" + + - name: Parse command + uses: skjnldsv/parse-command-comment@master + id: command + + # Init path depending on which command is run + - name: Init path + id: git-path + run: | + if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then + echo "::set-output name=path::${{ github.workspace }}${{steps.command.outputs.arg1}}" + else + echo "::set-output name=path::${{ github.workspace }}${{steps.command.outputs.arg2}}" + fi + + - name: Init branch + uses: xt0rted/pull-request-comment-branch@v1 + id: comment-branch + + 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: Read package.json node and npm engines version + uses: skjnldsv/read-package-engines-version-actions@v1 + id: package-engines-versions + with: + fallbackNode: '^12' + fallbackNpm: '^6' + + - name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }} + uses: actions/setup-node@v2 + with: + node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }} + cache: npm + + - name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }} + run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}" + + - name: Install dependencies & build + run: | + npm ci + npm run build --if-present + + - name: Commit and push default + if: ${{ needs.init.outputs.arg1 != 'fixup' && needs.init.outputs.arg1 != 'amend' }} + run: | + git add ${{ needs.init.outputs.git_path }} + git commit --signoff -m 'Compile assets' + git push origin ${{ needs.init.outputs.head_ref }} + + - name: Commit and push fixup + if: ${{ needs.init.outputs.arg1 == 'fixup' }} + run: | + git add ${{ needs.init.outputs.git_path }} + git commit --fixup=HEAD --signoff + git push origin ${{ needs.init.outputs.head_ref }} + + - name: Commit and push amend + if: ${{ needs.init.outputs.arg1 == '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" diff --git a/.github/workflows/command-rebase.yml b/.github/workflows/command-rebase.yml new file mode 100644 index 0000000..c497cb3 --- /dev/null +++ b/.github/workflows/command-rebase.yml @@ -0,0 +1,46 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Rebase command + +on: + issue_comment: + types: created + +jobs: + rebase: + runs-on: ubuntu-latest + + # On pull requests and if the comment starts with `/rebase` + if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase') + + steps: + - 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" + + - name: Checkout the latest code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + token: ${{ secrets.COMMAND_BOT_PAT }} + + - name: Automatic Rebase + uses: cirrus-actions/rebase@1.5 + env: + GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }} + + - 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" diff --git a/.github/workflows/dependabot-approve-merge.yml b/.github/workflows/dependabot-approve-merge.yml new file mode 100644 index 0000000..19a1311 --- /dev/null +++ b/.github/workflows/dependabot-approve-merge.yml @@ -0,0 +1,29 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Dependabot + +on: + pull_request_target: + branches: + - master + - stable* + +jobs: + auto-approve-merge: + if: github.actor == 'dependabot[bot]' + runs-on: ubuntu-latest + + steps: + # Github actions bot approve + - uses: hmarr/auto-approve-action@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + + # Nextcloud bot approve and merge request + - uses: ahmadnassri/action-dependabot-auto-merge@v2 + with: + target: minor + github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }} |