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 6, 2023
1 parent ff8c2d0 commit 9dcd2aa
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 11 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/node-dist-unchanged.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Check node dist files

on:
pull_request:


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

steps:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
with:
files: js/**

- name: Run step if any file(s) in the docs folder change
if: steps.changed-files.outputs.any_changed == 'true'
run: |
echo "One or more files in the js 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
11 changes: 0 additions & 11 deletions .github/workflows/node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,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 9dcd2aa

Please sign in to comment.