Skip to content

Commit fe2bef3

Browse files
committed
Updating command-compile.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
1 parent 437fc02 commit fe2bef3

1 file changed

Lines changed: 40 additions & 23 deletions

File tree

.github/workflows/command-compile.yml

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,34 @@ jobs:
1515
arg1: ${{ steps.command.outputs.arg1 }}
1616
arg2: ${{ steps.command.outputs.arg2 }}
1717
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
18+
base_ref: ${{ steps.comment-branch.outputs.base_ref }}
1819

1920
steps:
2021
- name: Check actor permission
21-
uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2
22+
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
2223
with:
2324
require: write
2425

2526
- name: Add reaction on start
26-
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
27+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
2728
with:
2829
token: ${{ secrets.COMMAND_BOT_PAT }}
2930
repository: ${{ github.event.repository.full_name }}
3031
comment-id: ${{ github.event.comment.id }}
3132
reactions: "+1"
3233

3334
- name: Parse command
34-
uses: skjnldsv/parse-command-comment@7cef1df370a99dfd5bf896d50121390c96785db8 # v2
35+
uses: skjnldsv/parse-command-comment@d8c0034c481b791dd6348fcacd9c510dc3a4cb4f # v2
3536
id: command
3637

3738
# Init path depending on which command is run
3839
- name: Init path
3940
id: git-path
4041
run: |
4142
if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then
42-
echo "path=${{ github.workspace }}${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
43+
echo "path=${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
4344
else
44-
echo "path=${{ github.workspace }}${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
45+
echo "path=${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
4546
fi
4647
4748
- name: Init branch
@@ -54,13 +55,13 @@ jobs:
5455

5556
steps:
5657
- name: Restore cached git repository
57-
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
58+
uses: buildjet/cache@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
5859
with:
5960
path: .git
6061
key: git-repo
6162

6263
- name: Checkout ${{ needs.init.outputs.head_ref }}
63-
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
64+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6465
with:
6566
token: ${{ secrets.COMMAND_BOT_PAT }}
6667
fetch-depth: 0
@@ -76,45 +77,61 @@ jobs:
7677
id: package-engines-versions
7778
with:
7879
fallbackNode: '^20'
79-
fallbackNpm: '^9'
80+
fallbackNpm: '^10'
8081

8182
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
82-
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3
83+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v3
8384
with:
8485
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
8586
cache: npm
8687

8788
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
8889
run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}"
90+
91+
- name: Rebase to ${{ needs.init.outputs.base_ref }}
92+
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
93+
run: |
94+
git fetch origin ${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}
95+
git rebase origin/${{ needs.init.outputs.base_ref }}
8996
9097
- name: Install dependencies & build
98+
env:
99+
CYPRESS_INSTALL_BINARY: 0
100+
PUPPETEER_SKIP_DOWNLOAD: true
91101
run: |
92102
npm ci
93103
npm run build --if-present
94104
95-
- name: Commit and push default
96-
if: ${{ needs.init.outputs.arg1 != 'fixup' && needs.init.outputs.arg1 != 'amend' }}
105+
- name: Commit default
106+
if: ${{ !contains(needs.init.outputs.arg1, 'fixup') && !contains(needs.init.outputs.arg1, 'amend') }}
97107
run: |
98-
git add ${{ needs.init.outputs.git_path }}
108+
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
99109
git commit --signoff -m 'chore(assets): Recompile assets'
100-
git push origin ${{ needs.init.outputs.head_ref }}
101-
102-
- name: Commit and push fixup
103-
if: ${{ needs.init.outputs.arg1 == 'fixup' }}
110+
111+
- name: Commit fixup
112+
if: ${{ contains(needs.init.outputs.arg1, 'fixup') }}
104113
run: |
105-
git add ${{ needs.init.outputs.git_path }}
114+
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
106115
git commit --fixup=HEAD --signoff
107-
git push origin ${{ needs.init.outputs.head_ref }}
108116
109-
- name: Commit and push amend
110-
if: ${{ needs.init.outputs.arg1 == 'amend' }}
117+
- name: Commit amend
118+
if: ${{ contains(needs.init.outputs.arg1, 'amend') }}
111119
run: |
112-
git add ${{ needs.init.outputs.git_path }}
120+
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
113121
git commit --amend --no-edit --signoff
114-
git push --force origin ${{ needs.init.outputs.head_ref }}
122+
# Remove any [skip ci] from the amended commit
123+
git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
124+
125+
- name: Push normally
126+
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
127+
run: git push origin ${{ needs.init.outputs.head_ref }}
128+
129+
- name: Force push
130+
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
131+
run: git push --force origin ${{ needs.init.outputs.head_ref }}
115132

116133
- name: Add reaction on failure
117-
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
134+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
118135
if: failure()
119136
with:
120137
token: ${{ secrets.COMMAND_BOT_PAT }}

0 commit comments

Comments
 (0)