Skip to content

chore: rename to ObjectOS One, @objectos/server v6.0.0, add app icons #1

chore: rename to ObjectOS One, @objectos/server v6.0.0, add app icons

chore: rename to ObjectOS One, @objectos/server v6.0.0, add app icons #1

Workflow file for this run

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/**/*