diff options
author | Timmy Willison <timmywil@users.noreply.github.com> | 2023-09-20 18:18:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-20 18:18:42 -0400 |
commit | ec8802bafefaebd99e4bfc0956fb409d9054d871 (patch) | |
tree | 19fb82ea61bae624b35bd31bee8ba1e6bd080fa0 /.github/workflows/node.js.yml | |
parent | 6fe88690a336a883ea310da76762e5a456dc487a (diff) | |
download | jquery-ec8802bafefaebd99e4bfc0956fb409d9054d871.tar.gz jquery-ec8802bafefaebd99e4bfc0956fb409d9054d871.zip |
Build: migrate most grunt tasks off of grunt (3.x)
Close gh-5330
- lint
- npmcopy
- build, minify, and process for distribution.
- new custom build command using yargs
- compare size of minified/gzip built files
- pretest scripts, including qunit-fixture, babel transpilation, and npmcopy
- node smoke tests
- promises aplus tests
- new watch task using nodemon, which runs `npm run build:all` on `src` changes.
Also:
- upgraded husky and added the new lint command
- updated lint config to use new "flat" config format.
See https://eslint.org/docs/latest/use/configure/configuration-files-new
- Temporarily disabled one lint rule until flat config is
supported by eslint-plugin-import.
See https://github.com/import-js/eslint-plugin-import/issues/2556
- committed package-lock.json
- updated all test scripts to use the new build
- added an express test server that uses middleware-mockserver
this can be used to run tests without karma
- build-all-variants is now build:all
- run pretest script in jenkins
---------
Co-authored-by: Michał Gołębiowski-Owczarek <m.goleb@gmail.com>
Diffstat (limited to '.github/workflows/node.js.yml')
-rw-r--r-- | .github/workflows/node.js.yml | 67 |
1 files changed, 37 insertions, 30 deletions
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 2baaea6e7..17167b700 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -40,40 +40,47 @@ jobs: NODE_VERSION: "18.x" NPM_SCRIPT: "test:browser" BROWSERS: "FirefoxHeadless" + steps: - - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + - name: Checkout + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - name: Cache + uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-npm-lock- + + - name: Use Node.js ${{ matrix.NODE_VERSION }} + uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 + with: + node-version: ${{ matrix.NODE_VERSION }} - - name: Cache - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-npm-lock- + - name: Install firefox ESR + run: | + export FIREFOX_SOURCE_URL='https://download.mozilla.org/?product=firefox-esr-latest&lang=en-US&os=linux64' + wget --no-verbose $FIREFOX_SOURCE_URL -O - | tar -jx -C ${HOME} + if: contains(matrix.NAME, 'Firefox ESR') - - name: Use Node.js ${{ matrix.NODE_VERSION }} - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 - with: - node-version: ${{ matrix.NODE_VERSION }} + - name: Install dependencies + run: npm install - - name: Install firefox ESR - run: | - export FIREFOX_SOURCE_URL='https://download.mozilla.org/?product=firefox-esr-latest&lang=en-US&os=linux64' - wget --no-verbose $FIREFOX_SOURCE_URL -O - | tar -jx -C ${HOME} - if: "contains(matrix.NAME, 'Firefox ESR')" + - name: Install Playwright dependencies + run: npx playwright-webkit install-deps + if: matrix.NPM_SCRIPT == 'test:browser' && contains(matrix.BROWSERS, 'WebkitHeadless') - - name: Install dependencies - run: | - npm install + - name: Lint code + run: npm run build && npm run lint + if: matrix.NODE_VERSION == '18.x' - - name: Install Playwright dependencies - run: npx playwright-webkit install-deps - if: "matrix.NPM_SCRIPT == 'test:browser' && contains(matrix.BROWSERS, 'WebkitHeadless')" + - name: Prepare tests + run: npm run pretest - - name: Run tests - env: - BROWSERS: ${{ matrix.BROWSERS }} - run: | - export PATH=${HOME}/firefox:$PATH - npm run ${{ matrix.NPM_SCRIPT }} + - name: Run tests + env: + BROWSERS: ${{ matrix.BROWSERS }} + run: | + export PATH=${HOME}/firefox:$PATH + npm run ${{ matrix.NPM_SCRIPT }} |