Skip to content

deploy

deploy #55

Workflow file for this run

name: deploy
on:
workflow_run:
workflows: ["release"]
types:
- completed
workflow_dispatch:
permissions:
contents: read
actions: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
verify-release:
runs-on: ubuntu-latest
steps:
- name: download
uses: actions/download-artifact@v4
with:
name: semantic-release
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.workflow_run.id }}
- name: read
id: read
run: |
source semantic-release.txt
echo "NEW_RELEASE_PUBLISHED=$new_release_published" >> $GITHUB_OUTPUT
echo "NEW_RELEASE_VERSION=$new_release_version" >> $GITHUB_OUTPUT
echo "NEW_RELEASE_MAJOR_VERSION=$new_release_major_version" >> $GITHUB_OUTPUT
echo "NEW_RELEASE_MINOR_VERSION=$new_release_minor_version" >> $GITHUB_OUTPUT
echo "NEW_RELEASE_PATCH_VERSION=$new_release_patch_version" >> $GITHUB_OUTPUT
echo "NEW_RELEASE_CHANNEL=$new_release_channel" >> $GITHUB_OUTPUT
echo "NEW_RELEASE_GIT_HEAD=$new_release_git_head" >> $GITHUB_OUTPUT
echo "NEW_RELEASE_GIT_TAG=$new_release_git_tag" >> $GITHUB_OUTPUT
echo "LAST_RELEASE_VERSION=$last_release_version" >> $GITHUB_OUTPUT
echo "LAST_RELEASE_GIT_HEAD=$last_release_git_head" >> $GITHUB_OUTPUT
echo "LAST_RELEASE_GIT_TAG=$last_release_git_tag" >> $GITHUB_OUTPUT
- name: see
run: |
echo "NEW_RELEASE_PUBLISHED=$NEW_RELEASE_PUBLISHED"
echo "NEW_RELEASE_VERSION=$NEW_RELEASE_VERSION"
outputs:
NEW_RELEASE_PUBLISHED: ${{ steps.read.outputs.NEW_RELEASE_PUBLISHED }}
NEW_RELEASE_VERSION: ${{ steps.read.outputs.NEW_RELEASE_VERSION }}
NEW_RELEASE_MAJOR_VERSION: ${{ steps.read.outputs.NEW_RELEASE_MAJOR_VERSION }}
NEW_RELEASE_MINOR_VERSION: ${{ steps.read.outputs.NEW_RELEASE_MINOR_VERSION }}
NEW_RELEASE_PATCH_VERSION: ${{ steps.read.outputs.NEW_RELEASE_PATCH_VERSION }}
NEW_RELEASE_CHANNEL: ${{ steps.read.outputs.NEW_RELEASE_CHANNEL }}
NEW_RELEASE_GIT_HEAD: ${{ steps.read.outputs.NEW_RELEASE_GIT_HEAD }}
NEW_RELEASE_GIT_TAG: ${{ steps.read.outputs.NEW_RELEASE_GIT_TAG }}
LAST_RELEASE_VERSION: ${{ steps.read.outputs.LAST_RELEASE_VERSION }}
LAST_RELEASE_GIT_HEAD: ${{ steps.read.outputs.LAST_RELEASE_GIT_HEAD }}
LAST_RELEASE_GIT_TAG: ${{ steps.read.outputs.LAST_RELEASE_GIT_TAG }}
page-deploy:
runs-on: ubuntu-latest
needs: verify-release
if: ${{ needs.verify-release.outputs.NEW_RELEASE_PUBLISHED == 'true' }}
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install pnpm
run: npm install -g pnpm@9.15.2
- name: Install dependencies
run: pnpm install
- name: Build
run: |
echo "VITE_NEW_RELEASE_VERSION=${{ needs.verify-release.outputs.NEW_RELEASE_VERSION }}" >> .env
pnpm build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: "./dist"
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
dont-deploy:
runs-on: ubuntu-latest
needs: verify-release
if: ${{ needs.verify-release.outputs.NEW_RELEASE_PUBLISHED == 'false' }}
steps:
- name: Skip
run: echo "No new release to deploy"