[ui] fix: limit message count for react memory usage #131
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: Desktop App Release | |
on: | |
push: | |
tags: | |
- "v1.*" | |
pull_request: | |
branches: | |
- v1.0 | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: macos-latest | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Cache Cargo registry | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cargo/registry | |
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-registry- | |
- name: Cache Cargo index | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cargo/index | |
key: ${{ runner.os }}-cargo-index | |
restore-keys: | | |
${{ runner.os }}-cargo-index | |
- name: Cache Cargo build | |
uses: actions/cache@v3 | |
with: | |
path: target | |
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-build- | |
# Build Rust Binary | |
- name: Build Release Binary | |
run: cargo build --release | |
- name: copy binary | |
run: cp target/release/goosed ui/desktop/src/bin/goosed | |
# Desktop App Steps | |
- name: Add MacOS certs for signing and notarization | |
run: ./add-macos-cert.sh | |
working-directory: ui/desktop | |
env: | |
CERTIFICATE_OSX_APPLICATION: ${{ secrets.CERTIFICATE_OSX_APPLICATION }} | |
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }} | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 'lts/*' | |
- name: Install dependencies | |
run: npm ci | |
working-directory: ui/desktop | |
- name: Make default Goose App | |
run: npm run bundle:default | |
working-directory: ui/desktop | |
env: | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Goose-darwin-arm64 | |
path: ui/desktop/out/Goose-darwin-arm64/Goose.zip | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
needs: [build] | |
permissions: | |
contents: write | |
pull-requests: write | |
if: github.event_name != 'pull_request' | |
steps: | |
# Download all artifacts | |
- name: Download all artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
merge-multiple: true | |
# Create or update release | |
- name: Create/Update Release | |
uses: ncipollo/release-action@v1 | |
with: | |
artifacts: "*.zip" | |
token: ${{ secrets.GITHUB_TOKEN }} | |
allowUpdates: true | |
omitBody: true | |
omitPrereleaseDuringUpdate: true | |
pr-comment: | |
name: Add PR Comment | |
runs-on: ubuntu-latest | |
needs: [build] | |
permissions: | |
pull-requests: write | |
if: github.event_name == 'pull_request' | |
steps: | |
# Download all artifacts | |
- name: Download all artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
merge-multiple: true | |
# Create comment with download links | |
- name: Find Comment | |
uses: peter-evans/find-comment@v2 | |
id: fc | |
with: | |
issue-number: ${{ github.event.pull_request.number }} | |
comment-author: 'github-actions[bot]' | |
body-includes: Desktop App build artifacts | |
- name: Create or update comment | |
uses: peter-evans/create-or-update-comment@v3 | |
with: | |
comment-id: ${{ steps.fc.outputs.comment-id }} | |
issue-number: ${{ github.event.pull_request.number }} | |
body: | | |
### Desktop App for this PR | |
The following build is available for testing: | |
- [📱 macOS Desktop App (Universal, signed)](https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/Goose-darwin-arm64.zip) | |
The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder. | |
This link is provided by nightly.link and will work even if you're not logged into GitHub. | |
edit-mode: replace |