Files
openhuman/.github/workflows/build.yml
T
Steven Enamakel eff58168af chore: update GitHub workflows for consistency and add changelog update job
- Standardized quotes in YAML files for better readability.
- Introduced a new workflow to automatically update the changelog on pushes to the develop branch, enhancing project documentation.
- Added architecture and README files to provide an overview of the project and its features.

These changes improve the maintainability and clarity of the project workflows and documentation.
2026-02-02 08:19:18 +05:30

87 lines
2.3 KiB
YAML

name: Build
on:
pull_request:
branches: ['*']
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
test-build:
name: Build Tauri App
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 24.x
cache: 'yarn'
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-linux-gnu
- name: Install Tauri dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf python3
- name: Setup Python sidecar binary
run: |
TARGET=$(rustc --print host-tuple)
PYTHON_PATH=$(which python3)
SIDECAR_PATH="src-tauri/runtime-skill-python-${TARGET}"
ln -sf "${PYTHON_PATH}" "${SIDECAR_PATH}"
echo "Created symlink: ${SIDECAR_PATH} -> ${PYTHON_PATH}"
- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('src-tauri/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Cache Cargo build artifacts
uses: actions/cache@v4
with:
path: src-tauri/target
key: ${{ runner.os }}-cargo-target-${{ hashFiles('src-tauri/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-target-
- name: Cache node modules
id: yarn-cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-build-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-
- name: Install dependencies
if: steps.yarn-cache.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Build frontend
run: yarn build
- name: Build Tauri app
run: yarn tauri build -- --target x86_64-unknown-linux-gnu
env:
NODE_ENV: production