]> source.dussan.org Git - nextcloud-server.git/commitdiff
chore(workflows): update `command-compile` from templates
authorJohn Molakvoæ <skjnldsv@users.noreply.github.com>
Sun, 4 Feb 2024 20:24:07 +0000 (21:24 +0100)
committerGitHub <noreply@github.com>
Sun, 4 Feb 2024 20:24:07 +0000 (21:24 +0100)
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
.github/workflows/command-compile.yml

index 4a01c147fb53f4d3b6fdfbf2c8dfebfe617f175b..d70e0312dcf5e1b762fe185f631a119b122cdd77 100644 (file)
@@ -15,10 +15,11 @@ jobs:
       arg1: ${{ steps.command.outputs.arg1 }}
       arg2: ${{ steps.command.outputs.arg2 }}
       head_ref: ${{ steps.comment-branch.outputs.head_ref }}
+      base_ref: ${{ steps.comment-branch.outputs.base_ref }}
 
     steps:
       - name: Check actor permission
-        uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2
+        uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
         with:
           require: write
 
@@ -31,7 +32,7 @@ jobs:
           reactions: "+1"
 
       - name: Parse command
-        uses: skjnldsv/parse-command-comment@7cef1df370a99dfd5bf896d50121390c96785db8 # v2
+        uses: skjnldsv/parse-command-comment@d8c0034c481b791dd6348fcacd9c510dc3a4cb4f # v2
         id: command
 
       # Init path depending on which command is run
@@ -76,7 +77,7 @@ jobs:
         id: package-engines-versions
         with:
           fallbackNode: '^20'
-          fallbackNpm: '^9'
+          fallbackNpm: '^10'
 
       - name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
         uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v3
@@ -86,6 +87,12 @@ jobs:
 
       - name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
         run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}"
+      
+      - name: Rebase to ${{ needs.init.outputs.base_ref }}
+        if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
+        run: |
+          git fetch origin ${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}
+          git rebase origin/${{ needs.init.outputs.base_ref }}
 
       - name: Install dependencies & build
         env:
@@ -95,26 +102,33 @@ jobs:
           npm ci
           npm run build --if-present
 
-      - name: Commit and push default
-        if: ${{ needs.init.outputs.arg1 != 'fixup' && needs.init.outputs.arg1 != 'amend' }}
+      - name: Commit default
+        if: ${{ !contains(needs.init.outputs.arg1, 'fixup') && !contains(needs.init.outputs.arg1, 'amend') }}
         run: |
           git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
           git commit --signoff -m 'chore(assets): Recompile assets'
-          git push origin ${{ needs.init.outputs.head_ref }}
-
-      - name: Commit and push fixup
-        if: ${{ needs.init.outputs.arg1 == 'fixup' }}
+      - name: Commit fixup
+        if: ${{ contains(needs.init.outputs.arg1, 'fixup') }}
         run: |
           git add ${{ github.workspace }}${{ 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' }}
+      - name: Commit amend
+        if: ${{ contains(needs.init.outputs.arg1, 'amend') }}
         run: |
           git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
           git commit --amend --no-edit --signoff
-          git push --force origin ${{ needs.init.outputs.head_ref }}
+          # Remove any [skip ci] from the amended commit
+          git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
+      - name: Push normally
+        if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
+        run: git push origin ${{ needs.init.outputs.head_ref }}
+
+      - name: Force push
+        if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
+        run: git push --force origin ${{ needs.init.outputs.head_ref }}
 
       - name: Add reaction on failure
         uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0