Skip to content

Component Starter Smoke Test #1

Component Starter Smoke Test

Component Starter Smoke Test #1

name: Component Starter Smoke Test
on:
merge_group:
workflow_call:
# Make this a reusable workflow, no value needed
# https://docs.github.com/en/actions/using-workflows/reusing-workflows
jobs:
analysis_test:
name: (${{ matrix.os }}.${{ matrix.node }})
strategy:
fail-fast: false
matrix:
node: ['14', '16', '18', '20']
os: ['ubuntu-latest', 'windows-latest']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Code
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies
- name: Use Node ${{ matrix.node }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- name: Download Build Archive
uses: ./.github/workflows/actions/download-archive
with:
name: stencil-core
path: .
filename: stencil-core-build.zip
- name: Pack the Build Archive
run: npm pack
shell: bash
- name: Move the Stencil Build Artifact
# TODO(STENCIL-688): revisit this logic
# there isn't a great way to get the output of `npm pack`, just grab the most recent and hope for the best
run: mv $(ls -t *.tgz | head -1) stencil-eval.tgz
shell: bash
- name: Initialize Component Starter
run: npm init stencil component tmp-component-starter
shell: bash
- name: Install Component Starter Dependencies
run: npm install
working-directory: ./tmp-component-starter
shell: bash
- name: Install Stencil Eval
run: npm i ../stencil-eval.tgz
working-directory: ./tmp-component-starter
shell: bash
- name: Build Starter Project
run: npm run build
working-directory: ./tmp-component-starter
shell: bash
- name: Test Starter Project
run: npm run test -- --no-build # the project was just built, don't build it again
working-directory: ./tmp-component-starter
shell: bash