Skip to content

Commit

Permalink
ci: Add workflow to update node dist files on main
Browse files Browse the repository at this point in the history
Signed-off-by: Julius Härtl <jus@bitgrid.net>

fix: Check build changes

Signed-off-by: Julius Härtl <jus@bitgrid.net>

fix: use CYPRESS_INSTALL_BINARY

Signed-off-by: Julius Härtl <jus@bitgrid.net>

fix: ref for push

Signed-off-by: Julius Härtl <jus@bitgrid.net>

ci(node): Block merge if js/ was changed

Signed-off-by: Julius Härtl <jus@bitgrid.net>

tmp: remove test branch to see if node check works

Signed-off-by: Julius Härtl <jus@bitgrid.net>
  • Loading branch information
juliushaertl committed Sep 4, 2023
1 parent 9fe22e4 commit 6677f9a
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 11 deletions.
22 changes: 11 additions & 11 deletions .github/workflows/node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,17 @@ jobs:
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

- name: Check webpack build changes
run: |
bash -c "[[ \"`git status --porcelain `\" ]] || (echo 'Do NOT commit changes in js/ as those will be built automatically once merged' && exit 1)"
- name: Show changes on failure
if: failure()
run: |
git status
git --no-pager diff
exit 1 # make it red to grab attention
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"

Expand All @@ -66,14 +77,3 @@ jobs:
webpackStatsFile: ./webpack-stats.json
key: ${{ secrets.RELATIVE_CI_KEY }}
token: ${{ secrets.GITHUB_TOKEN }}

- name: Check webpack build changes
run: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
- name: Show changes on failure
if: failure()
run: |
git status
git --no-pager diff
exit 1 # make it red to grab attention
61 changes: 61 additions & 0 deletions .github/workflows/update-node-dist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Update Node dist

on:
workflow_dispatch:
push:
branches:
# implemented since 28, once branched off, add your stable branch here
- main
# - ci/node-dist-workflow
# - stable28

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

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

steps:
- name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2

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

- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
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: Install dependencies & build
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: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
- name: Add and commit
if: steps.changes.outcome == 'failure'
run: |
git add --force js/
git commit --signoff -m 'chore(assets): recompile assets'
git push origin ${{ github.head_ref }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ cypress/downloads/
/tests/.phpunit.result.cache
dist/
webpack-stats.json

# js folder, to be updated wth --force
/js

0 comments on commit 6677f9a

Please sign in to comment.