Asset meta tag changes #3268
Workflow file for this run
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: ci | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- v* | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
# Cache packages when the branch is not update-dependencies or dependabot/* | |
- name: Resolve caching | |
id: cache | |
if: ${{ github.ref_name != 'update-dependencies' && !startsWith(github.ref_name, 'dependabot/') }} | |
run: echo "PACKAGE=npm" >> $GITHUB_OUTPUT | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: ".nvmrc" | |
cache: ${{ steps.cache.outputs.PACKAGE }} | |
- name: Install dependencies | |
run: npm ci | |
- name: Build | |
run: npm run build | |
- name: Upload webpack stats file | |
uses: relative-ci/[email protected] | |
with: | |
webpackStatsFile: ./packages/html-templates/artifacts/webpack-stats.json | |
- name: Upload build files | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
retention-days: 1 | |
# add glob on the first directory to force paths relative to current directory | |
path: | | |
packages*/*/lib/** | |
packages*/*/lib-esm/** | |
packages*/*/dist/** | |
packages*/*/types/** | |
packages/cli/__fixtures__/* | |
# Publish new version to local registry | |
- name: Run local npm registry | |
run: ./scripts/local-registry.sh & | |
- name: Publish bundle-stats packages locally | |
run: ./scripts/local-registry-publish.sh | |
- name: Upload local registry files | |
uses: actions/[email protected] | |
with: | |
name: local-registry | |
retention-days: 1 | |
include-hidden-files: true | |
path: | | |
.verdaccio-storage*/**/* | |
lint: | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
# Cache packages when the branch is not update-dependencies or dependabot/* | |
- name: Resolve caching | |
id: cache | |
if: ${{ github.ref_name != 'update-dependencies' && !startsWith(github.ref_name, 'dependabot/') }} | |
run: echo "PACKAGE=npm" >> $GITHUB_OUTPUT | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: ".nvmrc" | |
cache: ${{ steps.cache.outputs.PACKAGE }} | |
# Workaround npm/nx optional install issue - https://github.com/nrwl/nx/issues/15452 | |
- name: Install dependencies | |
run: npm ci | |
- name: Download build files | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
- name: Lint | |
run: npm run lint | |
test-unit: | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
# Cache packages when the branch is not update-dependencies or dependabot/* | |
- name: Resolve caching | |
id: cache | |
if: ${{ github.ref_name != 'update-dependencies' && !startsWith(github.ref_name, 'dependabot/') }} | |
run: echo "PACKAGE=npm" >> $GITHUB_OUTPUT | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: ".nvmrc" | |
cache: ${{ steps.cache.outputs.PACKAGE }} | |
# Workaround npm/nx optional install issue - https://github.com/nrwl/nx/issues/15452 | |
- name: Install dependencies | |
run: npm ci | |
- name: Download build files | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
- name: Test | |
run: npm test | |
test-e2e: | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
# Cache packages when the branch is not update-dependencies or dependabot/* | |
- name: Resolve caching | |
id: cache | |
if: ${{ github.ref_name != 'update-dependencies' && !startsWith(github.ref_name, 'dependabot/') }} | |
run: echo "PACKAGE=npm" >> $GITHUB_OUTPUT | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: ".nvmrc" | |
cache: ${{ steps.cache.outputs.PACKAGE }} | |
# Workaround npm/nx optional install issue - https://github.com/nrwl/nx/issues/15452 | |
- name: Install dependencies | |
run: npm ci | |
- name: Download build files | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
- name: Install E2E tests dependencies | |
working-directory: packages/cli | |
run: npx playwright install --with-deps | |
- name: Run E2E tests | |
working-directory: packages/cli | |
run: npm run test:e2e | |
test-package-cli: | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
node: [20, 18, 16, 14] | |
runs-on: ${{ matrix.os }} | |
name: CLI ${{ matrix.os }} nodejs ${{ matrix.node }} | |
steps: | |
- uses: actions/[email protected] | |
# Cache packages when the branch is not update-dependencies or dependabot/* | |
- name: Resolve caching | |
id: cache | |
if: ${{ github.ref_name != 'update-dependencies' && !startsWith(github.ref_name, 'dependabot/') }} | |
run: echo "PACKAGE=npm" >> $GITHUB_OUTPUT | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: ${{ matrix.node }} | |
cache: ${{ steps.cache.outputs.PACKAGE }} | |
- name: Download build files | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
- name: Download local registry files | |
uses: actions/[email protected] | |
with: | |
name: local-registry | |
- name: Install dependencies | |
run: npm install -g verdaccio@v5 | |
- name: Run local npm registry | |
run: ./scripts/local-registry.sh & | |
- name: Test package | |
run: npm run test:package | |
working-directory: packages/cli | |
test-package-webpack-plugin: | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, ubuntu-latest] | |
node: [20, 18, 16, 14] | |
webpack: ['webpack4', 'webpack5'] | |
exclude: | |
- webpack: 'webpack4' | |
node: 18 | |
- webpack: 'webpack4' | |
node: 20 | |
- os: windows-latest | |
node: 20 | |
- os: windows-latest | |
node: 18 | |
- os: windows-latest | |
node: 16 | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.webpack }} plugin ${{ matrix.os }} nodejs ${{ matrix.node }} | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Download build files | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
- name: Download local registry files | |
uses: actions/[email protected] | |
with: | |
name: local-registry | |
- name: Install dependencies | |
run: npm install -g verdaccio@v5 | |
- name: Run local npm registry | |
run: ./scripts/local-registry.sh & | |
- name: Test package | |
run: npm run test:package -- -t ${{ matrix.webpack }} | |
working-directory: packages/webpack-plugin | |
test-package-rollup-plugin: | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
node: [16, 18] | |
rollup: [3, 4] | |
exclude: | |
- rollup: 3 | |
node: 18 | |
- rollup: 4 | |
node: 16 | |
runs-on: ${{ matrix.os }} | |
name: rollup ${{ matrix.rollup}} plugin nodejs ${{ matrix.node }} | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Download build files | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
- name: Download local registry files | |
uses: actions/[email protected] | |
with: | |
name: local-registry | |
- name: Install verdaccio | |
run: npm install -g verdaccio@v5 | |
- name: Run local npm registry | |
run: ./scripts/local-registry.sh & | |
- name: Install test dependencies | |
run: | | |
npm install --force | |
npm install --no-save --force rollup@${{ matrix.rollup }} | |
working-directory: packages/rollup-plugin/test/package | |
- name: Test package | |
run: npm run test:package | |
working-directory: packages/rollup-plugin | |
tests: | |
needs: | |
- lint | |
- test-unit | |
- test-e2e | |
- test-package-cli | |
- test-package-webpack-plugin | |
- test-package-rollup-plugin | |
runs-on: ubuntu-latest | |
steps: | |
- run: echo "Tests done." | |
publish: | |
# Run only for version tags | |
if: contains(github.ref, 'refs/tags/v') | |
needs: | |
- tests | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/[email protected] | |
# Cache packages when the branch is not update-dependencies or dependabot/* | |
- name: Resolve caching | |
id: cache | |
if: ${{ github.ref_name != 'update-dependencies' && !startsWith(github.ref_name, 'dependabot/') }} | |
run: echo "PACKAGE=npm" >> $GITHUB_OUTPUT | |
- name: Use Node.js | |
uses: actions/[email protected] | |
with: | |
node-version-file: ".nvmrc" | |
cache: ${{ steps.cache.outputs.PACKAGE }} | |
registry-url: 'https://registry.npmjs.org' | |
# Workaround npm/nx optional install issue - https://github.com/nrwl/nx/issues/15452 | |
- name: Install dependencies | |
run: npm ci | |
- name: Download build | |
uses: actions/[email protected] | |
with: | |
name: build-artifacts | |
- run: npm run release | |
env: | |
NPM_CONFIG_PROVENANCE: true | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} |