Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b4ca4cc
Migrate Karma tests to Jest + Puppeteer runner
gnbm Oct 22, 2025
8efd8be
test(bundler): migrate bundler test to Jest + Puppeteer and restore T…
gnbm Oct 22, 2025
e056505
chore(test): add test.jest.lowmem script (8GB heap, 50% workers) for …
gnbm Oct 23, 2025
24c362a
Update GitHub workflows to use latest dependencies and added represen…
gnbm Oct 24, 2025
8da96e6
Merge branch 'main' into chore/karma-tests-migration
gnbm Oct 24, 2025
307902c
ci(bundlers): sanitize npm config to avoid E401 on public registry\n\…
gnbm Oct 24, 2025
2d74868
ci(bundlers): write clean ~/.npmrc instead of npm config set to avoid…
gnbm Oct 24, 2025
3673637
chore(prettier): format test-bundlers workflow
gnbm Oct 24, 2025
8024e31
ci(bundlers): force public registry in subfolders and clear auth env …
gnbm Oct 24, 2025
14e8ae1
ci(bundlers): run bundler job with explicit user npmrc and --registry…
gnbm Oct 25, 2025
eaec078
ci(bundlers): rollback custom npmrc flow; enforce public registry onl…
gnbm Oct 25, 2025
8e51bf6
ci(bundlers): install test/bundler dev deps (ts-jest/jest) before run…
gnbm Oct 26, 2025
07b1dbf
ci(bundlers): install test/bundler deps with explicit --userconfig to…
gnbm Oct 26, 2025
3210b6b
ci(bundlers): avoid E401 by installing ts-jest/jest via npm i with cl…
gnbm Oct 26, 2025
eb9ba14
ci(bundlers): install ts-jest/jest inside test/bundler with local tok…
gnbm Oct 26, 2025
d6ed492
ci(bundlers): avoid npm auth entirely by compiling TS spec to JS and …
gnbm Oct 26, 2025
96e91bc
ci(bundlers): run Jest with minimal CI config (no ts-jest) against co…
gnbm Oct 26, 2025
87f585d
ci(bundlers): install puppeteer at repo root with token-free npmrc so…
gnbm Oct 26, 2025
15be44a
ci(bundlers): install Chrome for Puppeteer (npx puppeteer browsers in…
gnbm Oct 26, 2025
07e65e3
Update vite-bundle.spec.ts
gnbm Oct 26, 2025
e3db859
Update vite-bundle.spec.ts
gnbm Oct 26, 2025
93637de
Update vite-bundle.spec.ts
gnbm Oct 26, 2025
4eb3ecf
Update vite-bundle.spec.ts
gnbm Oct 26, 2025
0047dd4
Update vite-bundle.spec.ts
gnbm Oct 26, 2025
37bae75
Update vite-bundle.spec.ts
gnbm Oct 26, 2025
ee14a82
Update test-bundlers.yml
gnbm Oct 27, 2025
72746a1
Clean up bundler test diagnostics and CI artifacts
gnbm Oct 27, 2025
c9efe91
Fix puppeteer-core module resolution in CI
gnbm Oct 27, 2025
3448fba
Merge branch 'main' into chore/karma-tests-migration
gnbm Nov 6, 2025
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
14 changes: 7 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,25 @@ jobs:
os: ['ubuntu-22.04', 'windows-latest']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Get Core Dependencies
- name: 🕸️ Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies

- name: Core Build
- name: 🏗️ Core Build
run: npm run build -- --ci
shell: bash

- name: Validate Build
- name: 🔬 Validate Build
run: npm run test.dist
shell: bash

- name: Validate Testing
- name: 🔬 Validate Testing
run: npm run test.testing
shell: bash

- name: Upload Build Artifacts
- name: 📤 Upload Build Artifacts
if: ${{ matrix.os == 'ubuntu-22.04' }}
uses: ./.github/workflows/actions/upload-archive
with:
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/create-production-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,48 +32,48 @@ jobs:
pull-requests: write
steps:
# Log the input from GitHub Actions for easy traceability
- name: Log GitHub Input
- name: 🔏Log GitHub Input
run: |
echo "Version: ${{ inputs.version }}"
shell: bash

- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# A depth of 0 gets the entire git history, which we'll want for things like checking all git history/tags.
# We need git history to generate the changelog; however, we don't know how deep to go.
# Since publishing is a one-off activity, just get everything.
fetch-depth: 0
ref: ${{ inputs.base }}

- name: Get Core Dependencies
- name: 🕸️ Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies

# TODO(STENCIL-927): Backport changes to the v3 branch
- name: Run Publish Preparation Script
- name: 📦Run Publish Preparation Script
run: npm run release.ci.prepare -- --version ${{ inputs.version }}
shell: bash

- name: Log Generated Changes
- name: 📝 Log Generated Changes
run: git --no-pager diff
shell: bash

- name: Generate Version String and Branch Name
- name: 🏷️ Generate Version String and Branch Name
id: name_gen
run: |
VERSION_STR=$(jq '.version' package.json | sed s/\"//g)
echo "VERSION_STR=$VERSION_STR" >> "$GITHUB_OUTPUT"
echo "BRANCH_NAME=release/$VERSION_STR-run-${{ github.run_number }}-${{ github.run_attempt }}" >> "$GITHUB_OUTPUT"
shell: bash

- name: Print Version String and Branch Name
- name: 🖨️ Print Version String and Branch Name
run: |
echo Version: ${{ steps.name_gen.outputs.VERSION_STR }}
echo Branch Name: ${{ steps.name_gen.outputs.BRANCH_NAME }}
shell: bash

- name: Create the Pull Request
uses: peter-evans/create-pull-request@6d6857d36972b65feb161a90e484f2984215f83e # v6.0.5
- name: 📤 Create the Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
# create a new pull request using the specified base branch
base: ${{ inputs.base }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/lint-and-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,18 @@ jobs:
name: Check
runs-on: 'ubuntu-22.04'
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Get Core Dependencies
- name: 🕸️ Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies

- name: ESLint
- name: 🖌️ ESLint
run: npm run lint

- name: Prettier Check
- name: 🖌️ Prettier Check
run: npm run prettier.dry-run
shell: bash

- name: Spellcheck
- name: 📚 Spellcheck
run: npm run spellcheck
22 changes: 11 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,54 +19,54 @@ permissions:

jobs:
build_core:
name: Build
name: 🏗️ Build
uses: ./.github/workflows/build.yml

lint_and_format:
name: Lint and Format
name: 🖌️ Lint and Format
uses: ./.github/workflows/lint-and-format.yml

type_tests:
name: Type Tests
name: 🧪 Type Tests
needs: [build_core]
uses: ./.github/workflows/test-types.yml

analysis_tests:
name: Analysis Tests
name: 🔬 Analysis Tests
needs: [build_core]
uses: ./.github/workflows/test-analysis.yml

docs_build_tests:
name: Docs Build Tests
name: 🏗️ Docs Build Tests
needs: [build_core]
uses: ./.github/workflows/test-docs-build.yml

bundler_tests:
name: Bundler Tests
name: 🧪 Bundler Tests
needs: [build_core]
uses: ./.github/workflows/test-bundlers.yml

copytask_tests:
name: Copy Task Tests
name: 🧪 Copy Task Tests
needs: [build_core]
uses: ./.github/workflows/test-copytask.yml

component_starter_tests:
name: Component Starter Smoke Test
name: 🧪 Component Starter Smoke Test
needs: [build_core]
uses: ./.github/workflows/test-component-starter.yml

e2e_tests:
name: E2E Tests
name: 🧪 E2E Tests
needs: [build_core]
uses: ./.github/workflows/test-e2e.yml

unit_tests:
name: Unit Tests
name: 🧪 Unit Tests
needs: [build_core]
uses: ./.github/workflows/test-unit.yml

wdio_tests:
name: WebdriverIO Tests
name: 🧪 WebdriverIO Tests
needs: [build_core]
uses: ./.github/workflows/test-wdio.yml
16 changes: 8 additions & 8 deletions .github/workflows/release-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ jobs:
outputs:
dev-version: ${{ steps.get-dev-version.outputs.DEV_VERSION }}
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Get Core Dependencies
- name: 🕸️ Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies

- name: Download Build Archive
- name: 📥 Download Build Archive
uses: ./.github/workflows/actions/download-archive
with:
name: stencil-core
path: .
filename: stencil-core-build.zip

- name: Get Version
- name: 🏷️ Get Version
id: get-dev-version
run: |
# A unique string to publish Stencil under
Expand All @@ -56,15 +56,15 @@ jobs:
shell: bash

release-stencil-dev-build:
name: Publish Dev Build
name: 📦 Publish Dev Build
needs: [get-dev-version, build_core]
runs-on: ubuntu-22.04
permissions:
contents: read
id-token: write
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/workflows/actions/publish-npm
with:
tag: dev
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/release-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,26 @@ jobs:
uses: ./.github/workflows/build.yml

get-nightly-version:
name: Get Nightly Build Version
name: 🌙Get Nightly Build Version
needs: [build_core]
runs-on: ubuntu-22.04
outputs:
nightly-version: ${{ steps.get-nightly-version.outputs.NIGHTLY_VERSION }}
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Get Core Dependencies
- name: 🕸️ Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies

- name: Download Build Archive
- name: 📥 Download Build Archive
uses: ./.github/workflows/actions/download-archive
with:
name: stencil-core
path: .
filename: stencil-core-build.zip

- name: Get Version
- name: 🏷️ Get Version
id: get-nightly-version
run: |
# A unique string to publish Stencil under
Expand Down Expand Up @@ -65,8 +65,8 @@ jobs:
contents: read
id-token: write
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/workflows/actions/publish-npm
with:
tag: nightly
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/release-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,38 +29,38 @@ jobs:
id-token: write
steps:
# Log the input from GitHub Actions for easy traceability
- name: Log GitHub Workflow UI Input
- name: 🔏Log GitHub Workflow UI Input
run: |
echo "Tag: ${{ inputs.tag }}"
echo "Base Branch: ${{ inputs.base }}"
shell: bash

- name: Verify that the 'latest' tag is applied only to the 'main' branch
- name: 🏷️ Verify that the 'latest' tag is applied only to the 'main' branch
run: |
echo "The 'latest' tag can only be published from the 'main' branch. Exiting."
exit 1
shell: bash
if: ${{ inputs.base != 'main' && inputs.tag == 'latest' }}

- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# A depth of 0 gets the entire git history, which we'll want for things like checking all git history/tags.
# We need git history to generate the changelog; however, we don't know how deep to go.
# Since publishing is a one-off activity, just get everything.
fetch-depth: 0
ref: ${{ inputs.base }}

- name: Get Core Dependencies
- name: 🕸️ Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies

- name: Prepare NPM Token
- name: 📦 Prepare NPM Token
run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc
shell: bash
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Run Publish Scripts
- name: 📦 Run Publish Scripts
# pass the generated version number instead of the input, since we've already incremented it in the prerelease
# step
run: npm run release.ci -- --tag ${{ inputs.tag }}
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/test-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,28 @@ jobs:
os: ['ubuntu-latest', 'windows-latest']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 📥 Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Get Core Dependencies
- name: 🕸️ Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies

- name: Use Node ${{ matrix.node }}
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
- name: 🟢 Use Node ${{ matrix.node }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ matrix.node }}
cache: 'npm'

- name: Download Build Archive
- name: 📥 Download Build Archive
uses: ./.github/workflows/actions/download-archive
with:
name: stencil-core
path: .
filename: stencil-core-build.zip

- name: Analysis Tests
- name: 🔬 Analysis Tests
run: npm run test.analysis
shell: bash

- name: Check Git Context
- name: 🔍 Check Git Context
uses: ./.github/workflows/actions/check-git-context
Loading
Loading