ci(cypress): Use cypress-split for running tests in parallel #7749
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2 | |
with: | |
require: write | |
- name: Add reaction on start | |
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2 | |
with: | |
token: ${{ secrets.COMMAND_BOT_PAT }} | |
repository: ${{ github.event.repository.full_name }} | |
comment-id: ${{ github.event.comment.id }} | |
reactions: "+1" | |
- name: Parse command | |
uses: skjnldsv/parse-command-comment@7cef1df370a99dfd5bf896d50121390c96785db8 # v2 | |
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 "path=${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT | |
else | |
echo "path=${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT | |
fi | |
- name: Init branch | |
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1 | |
id: comment-branch | |
process: | |
runs-on: ubuntu-latest | |
needs: init | |
steps: | |
- name: Restore cached git repository | |
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 | |
with: | |
path: .git | |
key: git-repo | |
- name: Checkout ${{ needs.init.outputs.head_ref }} | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
token: ${{ secrets.COMMAND_BOT_PAT }} | |
fetch-depth: 0 | |
ref: ${{ needs.init.outputs.head_ref }} | |
- name: Setup git | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "nextcloud-command" | |
- name: Read package.json node and npm engines version | |
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2 | |
id: package-engines-versions | |
with: | |
fallbackNode: '^20' | |
fallbackNpm: '^9' | |
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }} | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 | |
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 ${{ 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' }} | |
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@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2 | |
if: failure() | |
with: | |
token: ${{ secrets.COMMAND_BOT_PAT }} | |
repository: ${{ github.event.repository.full_name }} | |
comment-id: ${{ github.event.comment.id }} | |
reactions: "-1" |