Skip to content

Commit

Permalink
working on automating release of .zip and binaries and having them on…
Browse files Browse the repository at this point in the history
… each PR as well (#509)

Co-authored-by: Copilot <[email protected]>
  • Loading branch information
michaelneale and Copilot authored Dec 21, 2024
1 parent cb1b2b0 commit 4a6a46f
Showing 1 changed file with 82 additions and 11 deletions.
93 changes: 82 additions & 11 deletions .github/workflows/desktop-app-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,32 @@ 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-and-bundle:
build:
runs-on: macos-latest
permissions:
contents: write
pull-requests: write

steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
profile: minimal
override: true

- name: Cache Cargo registry
uses: actions/cache@v3
Expand Down Expand Up @@ -51,9 +60,6 @@ jobs:
- 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
Expand All @@ -79,8 +85,73 @@ jobs:
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}

- name: Upload default
uses: actions/upload-artifact@v3
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Goose.zip
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

0 comments on commit 4a6a46f

Please sign in to comment.