mirror of
https://github.com/jhbruhn/respira.git
synced 2026-01-27 02:13:41 +00:00
Moves web app build from publish-pages workflow to release workflow to ensure version consistency and better artifact management.
Changes:
- Added build-web job to release.yml that:
- Updates package.json with the release version
- Builds the web app with proper base path
- Creates a versioned zip artifact (respira-web-{version}.zip)
- Uploads as a release asset alongside desktop builds
- Updated publish-pages.yml to:
- Remove the build-web job (no longer needed)
- Download the pre-built web artifact from the release
- Extract and deploy the versioned build
Benefits:
- All artifacts (desktop + web) built together with same version
- Web app now includes correct version number in package.json
- Simpler and faster publish-pages workflow (no rebuild needed)
- Better caching and consistency across deployments
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
name: Publish to GitHub Pages
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
jobs:
|
|
publish-to-pages:
|
|
name: Publish to GitHub Pages
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Download release assets
|
|
run: |
|
|
# Create directory structure
|
|
mkdir -p pages/update/win32/x64
|
|
mkdir -p pages/update/darwin/arm64
|
|
|
|
# Download and extract web build from the release
|
|
gh release download ${{ github.event.release.tag_name }} --pattern "respira-web-*.zip"
|
|
unzip -q respira-web-*.zip -d pages/
|
|
|
|
# Download Windows auto-update files from the release
|
|
gh release download ${{ github.event.release.tag_name }} --pattern "*.exe" --dir pages/update/win32/x64
|
|
gh release download ${{ github.event.release.tag_name }} --pattern "*.nupkg" --dir pages/update/win32/x64
|
|
gh release download ${{ github.event.release.tag_name }} --pattern "RELEASES" --dir pages/update/win32/x64
|
|
|
|
# Download macOS auto-update files from the release
|
|
gh release download ${{ github.event.release.tag_name }} --pattern "*-darwin-arm64-*.zip" --dir pages/update/darwin/arm64
|
|
gh release download ${{ github.event.release.tag_name }} --pattern "RELEASES.json" --dir pages/update/darwin/arm64
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Setup Pages
|
|
uses: actions/configure-pages@v4
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-pages-artifact@v3
|
|
with:
|
|
path: "pages"
|
|
|
|
- name: Deploy to GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v4
|