Skip to content

chore(docs): september update (VIV-000) (#1900) #797

chore(docs): september update (VIV-000) (#1900)

chore(docs): september update (VIV-000) (#1900) #797

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