chore(docs): september update (VIV-000) (#1900) #797
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
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
force-release: | |
description: 'Perform a release even if release-please did not create a new release' | |
required: true | |
type: boolean | |
name: release-please | |
jobs: | |
tag-vivid-vue: | |
# As we've instructed release-please not to create a vivid-vue release for now, we need to create the tag ourselves | |
# This job will check if a tag for the current version of vivid-vue exists, and if not, create it | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Check tag | |
id: check_tag | |
run: | | |
TAG_NAME=vivid-vue-v$(node -p "require('./libs/vue-wrappers/package.json').version") | |
echo "Vivid-vue tag name: ${TAG_NAME}" | |
if git show-ref --tags --verify --quiet "refs/tags/${TAG_NAME}"; then | |
echo "Tag ${TAG_NAME} exists" | |
else | |
echo "Tag ${TAG_NAME} does not exist" | |
echo "::set-output name=missing_tag_name::${TAG_NAME}" | |
fi | |
- name: Create Tag | |
if: steps.check_tag.outputs.missing_tag_name | |
uses: actions/github-script@v6 | |
env: | |
TAG_NAME: ${{ steps.check_tag.outputs.missing_tag_name }} | |
with: | |
script: | | |
const { TAG_NAME } = process.env | |
github.rest.git.createRef({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
ref: `refs/tags/${TAG_NAME}`, | |
sha: context.sha | |
}) | |
release-please: | |
runs-on: ubuntu-latest | |
needs: tag-vivid-vue | |
outputs: | |
releases_created: ${{ steps.release.outputs.releases_created }} | |
steps: | |
- uses: googleapis/release-please-action@v4 | |
id: release | |
should-release: | |
runs-on: ubuntu-latest | |
needs: release-please | |
outputs: | |
should_release: ${{ steps.should-release.outputs.should_release }} | |
steps: | |
- id: should-release | |
run: echo "::set-output name=should_release::${{ needs.release-please.outputs.releases_created == 'true' || github.event.inputs.force-release == 'true' }}" | |
build: | |
runs-on: ubuntu-latest | |
needs: should-release | |
if: ${{ needs.should-release.outputs.should_release == 'true' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
registry-url: 'https://registry.npmjs.org' | |
- name: build | |
run: | | |
npm ci --ignore-scripts | |
npx nx run components:build | |
npx nx run components:generateMeta | |
npx nx run vue-wrappers:build | |
npx nx run eslint-plugin:build | |
- name: upload-artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release-artifacts | |
path: dist/ | |
include-hidden-files: true | |
vivid-publish: | |
needs: build | |
uses: ./.github/workflows/_publish.yml | |
with: | |
path: dist/libs/components | |
secrets: inherit | |
vivid-vue-publish: | |
needs: build | |
uses: ./.github/workflows/_publish.yml | |
with: | |
path: dist/libs/vue-wrappers | |
secrets: inherit | |
eslint-plugin-publish: | |
needs: build | |
uses: ./.github/workflows/_publish.yml | |
with: | |
path: dist/libs/eslint-plugin | |
secrets: inherit | |
deploy-deno: | |
needs: should-release | |
if: ${{ needs.should-release.outputs.should_release == 'true' }} | |
uses: ./.github/workflows/_deploy-deno.yml |