mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 01:38:32 +00:00
## Summary Pins Bun version to 1.3.2 and migrates workflows to use text-based `bun.lock` instead of binary `bun.lockb`. This fixes CI failures caused by Bun version mismatches between local development and GitHub Actions. ## Changes - Created `test/.bun-version` to pin Bun to v1.3.2 - Updated all workflows to use `bun-version-file: test/.bun-version` - Migrated workflow cache keys from `bun.lockb` to `bun.lock` - Removed deprecated `test/bun.lockb` binary lockfile ## Why? **Version Consistency:** - Local environments and CI were using different Bun versions - Different versions generate different lockfile formats → CI failures **Lockfile Migration:** - Bun v1.2+ uses text-based `bun.lock` as default - Binary `bun.lockb` is still supported but deprioritized - Text format provides better git diffs and merge conflict resolution ## Affected Workflows - `.github/workflows/task-check-metadata.yml` - `.github/workflows/task-e2e.yml` - `.github/workflows/task-moonwall-tests.yml` - `.github/workflows/task-ts-build.yml` - `.github/workflows/task-ts-lint.yml` ## After Merge Developers should upgrade their local Bun: ```bash bun upgrade --stable # Should install v1.3.2 bun --version # Verify version bun install # Regenerate lockfile if needed ``` --------- Co-authored-by: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
72 lines
2 KiB
YAML
72 lines
2 KiB
YAML
name: Moonwall Tests
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
workflow_call:
|
|
inputs:
|
|
binary-hash:
|
|
description: "Hash of the built operator binary uploaded as artifact"
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
moonwall:
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: test
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Download operator binary artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: datahaven-node-${{ inputs.binary-hash }}
|
|
path: operator/target/x86_64-unknown-linux-gnu/release
|
|
|
|
- name: Prepare operator binary in expected path
|
|
run: |
|
|
mkdir -p ../operator/target/release
|
|
cp ../operator/target/x86_64-unknown-linux-gnu/release/datahaven-node ../operator/target/release/datahaven-node
|
|
chmod +x ../operator/target/release/datahaven-node
|
|
|
|
timeout 20 ../operator/target/release/datahaven-node \
|
|
--dev \
|
|
--no-telemetry \
|
|
--unsafe-force-node-key-generation \
|
|
--reserved-only \
|
|
--no-grandpa \
|
|
--no-prometheus \
|
|
--sealing=manual 2>&1 | head -50 || echo "Node startup test completed"
|
|
|
|
- uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version-file: test/.bun-version
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: ~/.bun/install/cache
|
|
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-bun-
|
|
|
|
- name: Install dependencies
|
|
run: bun install
|
|
|
|
- name: Run Moonwall tests
|
|
run: bun run moonwall:test
|
|
|
|
- name: Upload Moonwall reports
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: moonwall-reports
|
|
path: |
|
|
test/tmp/testResults.json
|
|
test/reports/**
|
|
test/**/*.log
|
|
retention-days: 1
|