Some checks failed
Build & Test / Analyze (javascript, blocksuite) (push) Failing after 3s
Build & Test / Rust test filter (push) Failing after 3s
Build & Test / E2E BlockSuite Test (2) (push) Failing after 3s
Build & Test / E2E BlockSuite Test (3) (push) Failing after 4s
Build & Test / E2E BlockSuite Test (4) (push) Failing after 3s
Build & Test / E2E BlockSuite Cross Browser Test (push) Failing after 3s
Build & Test / E2E Mobile Test (1) (push) Failing after 3s
Build & Test / E2E Mobile Test (2) (push) Failing after 3s
Build & Test / Build AFFiNE native (x86_64-unknown-linux-gnu) (push) Failing after 4s
Build & Test / Unit Test (1) (push) Has been skipped
Build & Test / Unit Test (2) (push) Has been skipped
Build & Test / Unit Test (3) (push) Has been skipped
Build & Test / Build Server native (push) Failing after 3s
Build & Test / Check Git Status (push) Has been skipped
Build & Test / Server Test (0, 4) (push) Has been skipped
Build & Test / Server Test (1, 4) (push) Has been skipped
Build & Test / Analyze (javascript, affine) (push) Failing after 3s
Build & Test / Analyze (typescript, affine) (push) Failing after 3s
Build & Test / Analyze (typescript, blocksuite) (push) Failing after 3s
Build & Test / Mobile native build filter (push) Failing after 3s
Build & Test / Check yarn binary (push) Failing after 3s
Build & Test / E2E BlockSuite Test (1) (push) Failing after 4s
Build & Test / E2E BlockSuite Test (5) (push) Failing after 3s
Build & Test / Unit Test (4) (push) Has been skipped
Build & Test / Unit Test (5) (push) Has been skipped
Build & Test / Native Unit Test (push) Has been skipped
Build & Test / Server Test (2, 4) (push) Has been skipped
Build & Test / Server Test (3, 4) (push) Has been skipped
Build & Test / Server Test with Elasticsearch (push) Has been skipped
Build & Test / Server Test with Embedded Search (push) Has been skipped
Build & Test / Server Test with Manticore Search (push) Has been skipped
Build & Test / Server E2E Test (push) Has been skipped
Build & Test / Cloud Desktop E2E Test (push) Has been skipped
Build & Test / Cloud E2E Test 1/2 (push) Has been skipped
Build & Test / Cloud E2E Test 2/2 (push) Has been skipped
Build & Test / Build @affine/electron renderer (push) Failing after 3s
Build & Test / Copilot test filter (push) Failing after 4s
Build & Test / Lint Rust (push) Has been skipped
Build & Test / Build Android app (push) Has been skipped
Build & Test / Test Android app (push) Has been skipped
Build & Test / Run native tests (push) Has been skipped
Build & Test / Server Copilot Api Test (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (3, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (4, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (1, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (2, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (5, 5) (push) Has been skipped
Build & Test / Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true) (push) Has been cancelled
Build & Test / Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true) (push) Has been cancelled
Build & Test / 3, 2, 1 Launch (push) Has been cancelled
Build & Test / Lint (push) Has been cancelled
Build & Test / Typecheck (push) Has been cancelled
Build & Test / Build iOS app (push) Has been cancelled
Build & Test / Build AFFiNE native (aarch64-apple-darwin) (push) Has been cancelled
Build & Test / E2E Test (1) (push) Has been cancelled
Build & Test / E2E Test (2) (push) Has been cancelled
Build & Test / E2E Test (3) (push) Has been cancelled
Build & Test / E2E Test (4) (push) Has been cancelled
Build & Test / E2E Test (5) (push) Has been cancelled
Build & Test / Build AFFiNE native (x86_64-apple-darwin) (push) Has been cancelled
Build & Test / Build AFFiNE native (aarch64-pc-windows-msvc) (push) Has been cancelled
Build & Test / Build AFFiNE native (x86_64-pc-windows-msvc) (push) Has been cancelled
Build & Test / Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true) (push) Has been cancelled
Build & Test / Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false) (push) Has been cancelled
109 lines
3.8 KiB
YAML
109 lines
3.8 KiB
YAML
name: 'AFFiNE Rust build'
|
|
description: 'Rust build setup, including cache configuration'
|
|
inputs:
|
|
target:
|
|
description: 'Cargo target'
|
|
required: true
|
|
package:
|
|
description: 'Package to build'
|
|
required: true
|
|
no-build:
|
|
description: 'Whether to skip building'
|
|
required: false
|
|
default: 'false'
|
|
|
|
runs:
|
|
using: 'composite'
|
|
steps:
|
|
- name: Print rustup toolchain version
|
|
shell: bash
|
|
id: rustup-version
|
|
working-directory: ${{ env.DEV_DRIVE_WORKSPACE || github.workspace }}
|
|
run: |
|
|
export RUST_TOOLCHAIN_VERSION="$(grep 'channel' rust-toolchain.toml | head -1 | awk -F '"' '{print $2}')"
|
|
echo "Rust toolchain version: $RUST_TOOLCHAIN_VERSION"
|
|
echo "RUST_TOOLCHAIN_VERSION=$RUST_TOOLCHAIN_VERSION" >> "$GITHUB_OUTPUT"
|
|
- name: Setup Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
if: ${{ runner.os != 'Windows' }}
|
|
with:
|
|
toolchain: '${{ steps.rustup-version.outputs.RUST_TOOLCHAIN_VERSION }}'
|
|
targets: ${{ inputs.target }}
|
|
env:
|
|
CARGO_INCREMENTAL: '1'
|
|
|
|
- name: Setup Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
if: ${{ runner.os == 'Windows' }}
|
|
with:
|
|
toolchain: '${{ steps.rustup-version.outputs.RUST_TOOLCHAIN_VERSION }}'
|
|
targets: ${{ inputs.target }}
|
|
env:
|
|
CARGO_INCREMENTAL: '1'
|
|
CARGO_HOME: ${{ env.DEV_DRIVE }}/.cargo
|
|
RUSTUP_HOME: ${{ env.DEV_DRIVE }}/.rustup
|
|
|
|
- name: Set CC
|
|
if: ${{ contains(inputs.target, 'linux') && inputs.no-build != 'true' }}
|
|
working-directory: ${{ env.DEV_DRIVE_WORKSPACE || github.workspace }}
|
|
shell: bash
|
|
# https://github.com/tree-sitter/tree-sitter/issues/4186
|
|
# pass -D_BSD_SOURCE to clang to fix the tree-sitter build issue
|
|
run: |
|
|
if [[ "${{ inputs.target }}" == "aarch64-unknown-linux-gnu" ]]; then
|
|
# napi cross-toolchain 1.0.3 headers miss AT_HWCAP2 in elf.h
|
|
echo "CC=clang -D_BSD_SOURCE -DAT_HWCAP2=26" >> "$GITHUB_ENV"
|
|
echo "TARGET_CC=clang -D_BSD_SOURCE -DAT_HWCAP2=26" >> "$GITHUB_ENV"
|
|
else
|
|
echo "CC=clang -D_BSD_SOURCE" >> "$GITHUB_ENV"
|
|
echo "TARGET_CC=clang -D_BSD_SOURCE" >> "$GITHUB_ENV"
|
|
fi
|
|
|
|
- name: Prepare cache key
|
|
id: cache-key
|
|
shell: bash
|
|
run: |
|
|
shared_key="$(printf '%s' "${{ inputs.target }}-${{ inputs.package }}" | tr -c 'A-Za-z0-9_.-' '-')"
|
|
echo "shared-key=$shared_key" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Cache cargo
|
|
uses: Swatinem/rust-cache@v2
|
|
if: ${{ runner.os == 'Windows' }}
|
|
with:
|
|
workspaces: ${{ env.DEV_DRIVE_WORKSPACE }}
|
|
save-if: ${{ github.ref_name == 'canary' }}
|
|
shared-key: ${{ steps.cache-key.outputs.shared-key }}
|
|
env:
|
|
CARGO_HOME: ${{ env.DEV_DRIVE }}/.cargo
|
|
RUSTUP_HOME: ${{ env.DEV_DRIVE }}/.rustup
|
|
|
|
- name: Cache cargo
|
|
uses: Swatinem/rust-cache@v2
|
|
if: ${{ runner.os != 'Windows' }}
|
|
with:
|
|
save-if: ${{ github.ref_name == 'canary' }}
|
|
shared-key: ${{ steps.cache-key.outputs.shared-key }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
if: ${{ runner.os != 'Windows' && inputs.no-build != 'true' }}
|
|
run: |
|
|
if [[ "${{ inputs.target }}" == "x86_64-unknown-linux-gnu" ]]; then
|
|
yarn workspace ${{ inputs.package }} build --target ${{ inputs.target }}
|
|
else
|
|
yarn workspace ${{ inputs.package }} build --target ${{ inputs.target }} --use-napi-cross
|
|
fi
|
|
env:
|
|
DEBUG: 'napi:*'
|
|
|
|
- name: Build
|
|
working-directory: ${{ env.DEV_DRIVE_WORKSPACE || github.workspace }}
|
|
shell: bash
|
|
if: ${{ runner.os == 'Windows' && inputs.no-build != 'true' }}
|
|
run: |
|
|
yarn workspace ${{ inputs.package }} build --target ${{ inputs.target }}
|
|
env:
|
|
DEBUG: 'napi:*'
|
|
CARGO_HOME: ${{ env.DEV_DRIVE }}/.cargo
|
|
RUSTUP_HOME: ${{ env.DEV_DRIVE }}/.rustup
|