ci: production deploy #380
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: NPM Publish | |
on: | |
push: | |
branches: [ master ] | |
permissions: | |
contents: write | |
pages: write | |
id-token: write | |
concurrency: | |
group: pages | |
cancel-in-progress: false | |
jobs: | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- uses: ./.github/actions/codecheck | |
test-vue2: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- uses: ./.github/actions/test | |
with: | |
type: vue2 | |
test-vue3: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- uses: ./.github/actions/test | |
with: | |
type: vue3 | |
test-nuxt2: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- uses: ./.github/actions/test | |
with: | |
type: nuxt2 | |
test-nuxt3: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- uses: ./.github/actions/test | |
with: | |
type: nuxt3 | |
docs-build: | |
name: Docs build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- name: Setup Pages | |
uses: actions/configure-pages@v5 | |
- name: Build main package | |
run: | | |
yarn | |
yarn build | |
- name: Build with VitePress | |
run: | | |
yarn docs:build | |
touch docs/.vitepress/dist/.nojekyll | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: docs/.vitepress/dist | |
npm-publish: | |
name: NPM Publish | |
needs: | |
- check | |
- test-vue2 | |
- test-vue3 | |
- test-nuxt2 | |
- test-nuxt3 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- run: yarn | |
- run: yarn lint && yarn build | |
- uses: JS-DevTools/npm-publish@v3 | |
with: | |
token: ${{ secrets.NPM_TOKEN }} | |
package: ./packages/vue-yandex-maps | |
provenance: true | |
#tag: next | |
github-release: | |
name: Release tag to Github | |
needs: npm-publish | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get Tag Name | |
id: tagName | |
uses: beaconbrigade/package-json-version@v0.3 | |
with: | |
path: ./packages/vue-yandex-maps | |
- name: Extract release notes | |
id: extract-release-notes | |
uses: ffurrer2/extract-release-notes@v2 | |
- name: Create Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
target_commitish: master | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag_name: ${{ steps.tagName.outputs.version }} | |
name: ${{ steps.release.outputs.title }} | |
body: ${{ steps.extract-release-notes.outputs.release_notes }} | |
#prerelease: true | |
docs-deploy: | |
name: Docs Deploy | |
continue-on-error: true | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: docs-build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |