mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 23:16:21 +00:00
84 lines
2.3 KiB
YAML
84 lines
2.3 KiB
YAML
name: Build & Publish Client Release
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
|
|
NITRO_SINGLE_BUNDLE: '1'
|
|
NITRO_JSON_MODE: 'legacy'
|
|
|
|
jobs:
|
|
build-release:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout client
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: Nitro-V3
|
|
|
|
- name: Checkout renderer
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: duckethotel/ducket-render
|
|
ref: main
|
|
path: Nitro_Render_V3
|
|
token: ${{ secrets.DUCKET_REPO_TOKEN }}
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
cache: yarn
|
|
cache-dependency-path: |
|
|
Nitro-V3/yarn.lock
|
|
Nitro_Render_V3/yarn.lock
|
|
|
|
- name: Install renderer dependencies
|
|
working-directory: Nitro_Render_V3
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Link renderer
|
|
working-directory: Nitro_Render_V3
|
|
run: yarn link
|
|
|
|
- name: Install client dependencies
|
|
working-directory: Nitro-V3
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Link renderer into client
|
|
working-directory: Nitro-V3
|
|
run: yarn link "@nitrots/nitro-renderer"
|
|
|
|
- name: Build client
|
|
working-directory: Nitro-V3
|
|
run: yarn build
|
|
|
|
- name: Read package version
|
|
id: version
|
|
working-directory: Nitro-V3
|
|
run: |
|
|
VERSION=$(node -p "require('./package.json').version")
|
|
SHORT_SHA=${GITHUB_SHA::7}
|
|
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
|
echo "short_sha=$SHORT_SHA" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Package dist
|
|
working-directory: Nitro-V3
|
|
run: |
|
|
zip -r "../ducket-client-dist-${{ steps.version.outputs.short_sha }}.zip" dist
|
|
|
|
- name: Publish release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
tag_name: client-v${{ steps.version.outputs.version }}-${{ steps.version.outputs.short_sha }}
|
|
name: Ducket Client ${{ steps.version.outputs.version }} (${{ steps.version.outputs.short_sha }})
|
|
generate_release_notes: true
|
|
files: ducket-client-dist-${{ steps.version.outputs.short_sha }}.zip
|