Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions workflow-templates/node-dist-unchanged.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later

name: Check node dist files

on:
pull_request:

jobs:
changed_files:
runs-on: ubuntu-latest-low
name: Check node dist files
permissions:
pull-requests: read

steps:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@dcc7a0cba800f454d79fff4b993e8c3555bcc0a8 # v45.0.7

Check warning on line 19 in workflow-templates/node-dist-unchanged.yml

View workflow job for this annotation

GitHub Actions / yaml

ref-version-mismatch

node-dist-unchanged.yml:19: action's hash pin has mismatched or missing version comment: tag points to commit a284dc1814e3
with:
files: js/**

- name: Run step if any file(s) in the dist folder change
if: steps.changed-files.outputs.any_changed == 'true'
run: |
echo "One or more files in the dist folder has changed. Do NOT commit files in there as they will be generated automatically once a pull request is merged"
echo "List all the files that have changed: ${{ steps.changed-files.outputs.all_changed_files }}"
exit 1
93 changes: 93 additions & 0 deletions workflow-templates/update-node-dist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later

name: Update Node dist

on:
workflow_dispatch:
push:
branches:
# implemented since 35, once branched off, add your stable branch here
Comment thread
artonge marked this conversation as resolved.
- ${{ github.event.repository.default_branch }}
- stable*

permissions:
contents: write

concurrency:
group: update-node-dist-${{ github.head_ref || github.ref || github.run_id }}

jobs:
update-node-dist:
runs-on: ubuntu-latest-assets
environment: update-node-dist

steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Needed to allow force push later
persist-credentials: true
token: ${{ secrets.BOT_GITHUB_TOKEN }}

- name: Skip if update-node-dist.yml does not exist on the branch
id: check_update_file
run: |
if [ ! -f .github/workflows/update-node-dist.yml ]
then
exit 0
fi

- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'

- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"

- name: Setup git
run: |
git config --local user.email "nextcloud-command@users.noreply.github.com"
git config --local user.name "nextcloud-command"

- name: Get last commit message if it was not a recompile
id: last_commit
run: |
{
echo 'MESSAGE<<EOF'
git log -1 --pretty=%s | grep -v '^chore(assets): recompile assets$' || test $? -eq 1
echo 'EOF'
} >> $GITHUB_OUTPUT

- name: Install dependencies & build
if: steps.last_commit.outputs.MESSAGE != ''
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
npm run build --if-present

- name: Check webpack build changes
id: changes
continue-on-error: true
run: |
{
echo 'CHANGED<<EOF'
git status --porcelain
echo 'EOF'
} >> "$GITHUB_OUTPUT"

- name: Add and commit
if: steps.changes.outputs.CHANGED != ''
run: |
git add --force js/
git commit --signoff -m 'chore(assets): recompile assets'
git push origin ${GITHUB_HEAD_REF}
Loading