-
Notifications
You must be signed in to change notification settings - Fork 2
feat: add beta release channel and split macOS arch builds #390
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
f21f75e
c695adf
e89c1dd
c6a95d2
37f56cb
3236f25
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -50,23 +50,31 @@ jobs: | |
| path: dist/devsy-${{ steps.os.outputs.runner_os }}_*/devsy-${{ steps.os.outputs.runner_os }}-* | ||
|
|
||
| build-desktop: | ||
| name: Build Desktop App on ${{ matrix.os }} | ||
| name: Build Desktop App (${{ matrix.name }}) | ||
| needs: build-cli | ||
| permissions: | ||
| contents: write | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| - os: ubuntu-22.04 | ||
| - name: linux-x64 | ||
| os: ubuntu-22.04 | ||
| go-os: linux | ||
| go-arch: amd64 | ||
| builder-args: --linux | ||
| - os: macos-latest | ||
| - name: macos-arm64 | ||
| os: macos-latest | ||
| go-os: darwin | ||
| go-arch: universal | ||
| builder-args: --mac | ||
| - os: windows-2022 | ||
| go-arch: arm64 | ||
| builder-args: --mac --arm64 | ||
| - name: macos-x64 | ||
| os: macos-latest | ||
| go-os: darwin | ||
| go-arch: amd64 | ||
| builder-args: --mac --x64 | ||
| - name: windows-x64 | ||
| os: windows-2022 | ||
| go-os: windows | ||
| go-arch: amd64 | ||
| builder-args: --win | ||
|
|
@@ -114,15 +122,8 @@ jobs: | |
| run: | | ||
| TEMP_DIR="${{ runner.temp }}" | ||
| mkdir -p desktop/resources/bin | ||
|
|
||
| if [ "${{ matrix.go-arch }}" = "universal" ]; then | ||
| # macOS: use both arch binaries for universal build | ||
| cp "$TEMP_DIR/devsy-bin/devsy-darwin-amd64" desktop/resources/bin/devsy | ||
| chmod +x desktop/resources/bin/devsy | ||
| else | ||
| cp "$TEMP_DIR/devsy-bin/devsy-${{ matrix.go-os }}-${{ matrix.go-arch }}" desktop/resources/bin/devsy | ||
| chmod +x desktop/resources/bin/devsy | ||
| fi | ||
| cp "$TEMP_DIR/devsy-bin/devsy-${{ matrix.go-os }}-${{ matrix.go-arch }}" desktop/resources/bin/devsy | ||
| chmod +x desktop/resources/bin/devsy | ||
|
|
||
| # Also stage binaries for dist/ upload and provider generation | ||
| mkdir -p dist/ | ||
|
|
@@ -136,7 +137,7 @@ jobs: | |
| Copy-Item "${{ runner.temp }}/devsy-bin/devsy-windows-amd64.exe" desktop/resources/bin/devsy.exe | ||
|
|
||
| - name: generate pro provider | ||
| if: runner.os == 'Linux' | ||
| if: matrix.name == 'linux-x64' | ||
| working-directory: ./hack/pro | ||
| env: | ||
| PARTIAL: "true" | ||
|
|
@@ -199,21 +200,23 @@ jobs: | |
| - name: upload update metadata artifact | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: update-metadata-${{ matrix.os }} | ||
| path: desktop/release/latest*.yml | ||
| name: update-metadata-${{ matrix.name }} | ||
| path: | | ||
| desktop/release/latest*.yml | ||
| desktop/release/beta*.yml | ||
| if-no-files-found: ignore | ||
|
|
||
| - name: upload cli assets | ||
| uses: softprops/action-gh-release@v3 | ||
| if: runner.os == 'Linux' | ||
| if: matrix.name == 'linux-x64' | ||
| with: | ||
| tag_name: ${{ inputs.tag || github.ref_name }} | ||
| draft: true | ||
| files: | | ||
| ./dist/* | ||
|
|
||
| - name: upload desktop linux artifact for flatpak | ||
| if: runner.os == 'Linux' | ||
| if: matrix.name == 'linux-x64' | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: devsy-flatpak | ||
|
|
@@ -226,16 +229,34 @@ jobs: | |
| permissions: | ||
| contents: read | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: download update metadata artifacts | ||
| uses: actions/download-artifact@v8 | ||
|
Comment on lines
+232
to
237
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Verify non-SHA action refs in this workflow
rg -n '^\s*-\s+uses:\s+[^@]+@v[0-9]+' .github/workflows/release.ymlRepository: devsy-org/devsy Length of output: 506 🏁 Script executed: sed -n '230,240p' .github/workflows/release.ymlRepository: devsy-org/devsy Length of output: 349 Pin GitHub Actions to full commit SHAs. Using floating version tags ( 🧰 Tools🪛 zizmor (1.25.2)[warning] 232-232: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false (artipacked) [error] 232-232: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy) (unpinned-uses) [error] 235-235: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy) (unpinned-uses) 🤖 Prompt for AI Agents |
||
| with: | ||
| pattern: update-metadata-* | ||
| path: metadata/ | ||
|
|
||
| - name: arrange files into publish directory | ||
| - name: fetch existing metadata from live site | ||
| run: | | ||
| mkdir -p publish-dir/desktop | ||
| find metadata/ -name 'latest*.yml' -exec cp {} publish-dir/desktop/ \; | ||
| for file in latest-mac.yml latest-linux.yml latest.yml beta-mac.yml beta-linux.yml beta.yml; do | ||
| curl -sSf "https://dl.devsy.sh/desktop/$file" -o "publish-dir/desktop/$file" 2>/dev/null || true | ||
| done | ||
|
|
||
| - name: merge macOS metadata from separate arch builds | ||
| run: | | ||
| pip install pyyaml | ||
| python3 hack/merge-mac-metadata.py metadata/ publish-dir/desktop/ | ||
|
|
||
| - name: overlay non-mac metadata files | ||
| run: | | ||
| find metadata/ -name 'latest-linux.yml' -exec cp {} publish-dir/desktop/ \; | ||
| find metadata/ -name 'latest.yml' -exec cp {} publish-dir/desktop/ \; | ||
| find metadata/ -name 'beta-linux.yml' -exec cp {} publish-dir/desktop/ \; | ||
| find metadata/ -name 'beta.yml' -exec cp {} publish-dir/desktop/ \; | ||
|
|
||
| - name: deploy to Netlify (dl.devsy.sh) | ||
| uses: nwtgck/actions-netlify@v3 | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.