Documentation checkbox #384
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: Deploy Stencil Web components Library to NPM | |
on: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize # canary on new commit | |
env: | |
CANARY_VERSION: '' | |
jobs: | |
stencil-library-release: | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')" # job will not run, if triggered via ship-it | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # fetch all tags for ship-it | |
- name: download + setup auto | |
uses: auto-it/setup-auto@v1 | |
- name: Use Node.js 16.x | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16 | |
registry-url: "https://registry.npmjs.org" | |
- name: Build stencil | |
id: build | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
run: | | |
cd packages/components | |
npm install | |
npm run build:stencil | |
CANARY_VERSION=$(auto shipit --dry-run --quiet) | |
echo "Publishing: $CANARY_VERSION" | |
echo "CANARY_VERSION=$CANARY_VERSION" >> $GITHUB_ENV | |
auto shipit | |
- name: Sleep for 5 seconds #needed because we had runtime issues where the wrappers are not getting the newest version | |
run: sleep 5s | |
shell: bash | |
- name: Create Release for react wrapper # releasing as npm package | |
id: release-react | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
run: | | |
cd packages/components-react | |
echo "CANARY_VERSION: $CANARY_VERSION" | |
echo "Publishing: $CANARY_VERSION" | |
npm install | |
npm install @infineon/infineon-design-system-stencil@"$CANARY_VERSION" | |
npm version $CANARY_VERSION --no-git-tag-version --force | |
npm run build | |
npm publish --tag canary | |
- name: Create Release for vue wrapper # releasing as npm package | |
id: release-vue | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
run: | | |
cd packages/components-vue | |
echo "CANARY_VERSION: $CANARY_VERSION" | |
echo "Publishing: $CANARY_VERSION" | |
npm install | |
npm install @infineon/infineon-design-system-stencil@"$CANARY_VERSION" | |
npm version $CANARY_VERSION --no-git-tag-version --force | |
npm run build | |
npm publish --tag canary | |