Repository navigation
chore: rename to ObjectOS One, @objectos/server v6.0.0, add app icons #1
Workflow file for this run
This file contains hidden or 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: one | |
| on: | |
| push: | |
| tags: | |
| - 'one-v*' | |
| workflow_dispatch: | |
| inputs: | |
| release: | |
| description: 'Create a draft GitHub release with the artifacts' | |
| type: boolean | |
| default: false | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| name: ${{ matrix.label }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - label: macOS (arm64) | |
| os: macos-14 | |
| target: aarch64-apple-darwin | |
| bundle-dir: macos | |
| - label: macOS (x64) | |
| os: macos-13 | |
| target: x86_64-apple-darwin | |
| bundle-dir: macos | |
| - label: Windows (x64) | |
| os: windows-2022 | |
| target: x86_64-pc-windows-msvc | |
| bundle-dir: nsis | |
| - label: Linux (x64) | |
| os: ubuntu-22.04 | |
| target: x86_64-unknown-linux-gnu | |
| bundle-dir: deb | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Linux build deps | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libwebkit2gtk-4.1-dev libssl-dev libayatana-appindicator3-dev \ | |
| librsvg2-dev patchelf libgtk-3-dev libsoup-3.0-dev | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.28.2 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: pnpm | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: apps/objectos-one/src-tauri | |
| - name: Install workspace deps | |
| run: pnpm install --frozen-lockfile | |
| - name: Stage Node runtime | |
| run: pnpm --filter @objectos/one stage | |
| - name: Build Tauri bundle | |
| env: | |
| # macOS signing (provide via repo secrets to enable notarization). | |
| APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} | |
| APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | |
| APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} | |
| APPLE_ID: ${{ secrets.APPLE_ID }} | |
| APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} | |
| APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
| # Tauri updater key (optional). | |
| TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | |
| TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | |
| run: pnpm --filter @objectos/one tauri build --target ${{ matrix.target }} | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: objectos-one-${{ matrix.target }} | |
| path: | | |
| apps/objectos-one/src-tauri/target/${{ matrix.target }}/release/bundle/**/*.dmg | |
| apps/objectos-one/src-tauri/target/${{ matrix.target }}/release/bundle/**/*.app | |
| apps/objectos-one/src-tauri/target/${{ matrix.target }}/release/bundle/**/*.exe | |
| apps/objectos-one/src-tauri/target/${{ matrix.target }}/release/bundle/**/*.msi | |
| apps/objectos-one/src-tauri/target/${{ matrix.target }}/release/bundle/**/*.deb | |
| apps/objectos-one/src-tauri/target/${{ matrix.target }}/release/bundle/**/*.AppImage | |
| apps/objectos-one/src-tauri/target/${{ matrix.target }}/release/bundle/**/*.sig | |
| if-no-files-found: warn | |
| release: | |
| name: Draft release | |
| needs: build | |
| if: startsWith(github.ref, 'refs/tags/one-v') || inputs.release | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: Create draft release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| draft: true | |
| generate_release_notes: true | |
| name: ObjectOS One ${{ github.ref_name }} | |
| files: artifacts/**/* |