Files
oh-my-pi/.github/actions/native-artifacts/action.yml
T
can1357 ed4c78bc0f feat: streamlined native addon builds and caching in ci workflows
- Enhance CI workflows to build and reuse native addon artifacts instead of recompiling.
- Update bazel cache actions with selective backend detection and separate remote and disk modes.
- Add `--source` CLI option to install prebuilt native targets without requiring Bazel.
- Increase Kata runner memory configuration from 12Gi to 24Gi.
2026-07-28 02:06:13 +02:00

39 lines
1.2 KiB
YAML

name: "Install native addon artifacts"
description: >
Downloads the native addons built once by the Rust job and installs exact
targets without invoking Bazel.
inputs:
targets:
description: Space-separated scripts/bazel-natives.ts target names
required: true
dest:
description: Destination directory for the .node files
required: false
default: packages/natives/native
runs:
using: composite
steps:
- name: Download native addon artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: native-addons
path: ${{ runner.temp }}/omp-native-artifacts
- name: Install native addon targets
shell: bash
env:
NATIVE_TARGETS: ${{ inputs.targets }}
NATIVE_DEST: ${{ inputs.dest }}
run: |
set -euo pipefail
read -r -a targets <<< "$NATIVE_TARGETS"
if [ "${#targets[@]}" -eq 0 ]; then
echo "::error::At least one native addon target is required"
exit 1
fi
bun scripts/bazel-natives.ts "${targets[@]}" \
--source "$RUNNER_TEMP/omp-native-artifacts" \
--dest "$NATIVE_DEST"