fix CI #32
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test Builds | |
| on: | |
| push: | |
| branches: [ development, master ] | |
| pull_request: | |
| branches: [ development, master ] | |
| jobs: | |
| test-linux: | |
| name: Test Linux (Ubuntu) | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js v22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'yarn' | |
| - name: Cache electron binaries | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/electron | |
| key: ${{ runner.os }}-electron-v2-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: ${{ runner.os }}-electron-v2- | |
| - name: Install dependencies | |
| run: | | |
| for i in 1 2 3; do | |
| echo "yarn install attempt $i" | |
| yarn install --frozen-lockfile --ignore-engines --network-timeout 100000 --network-concurrency 1 && break | |
| sleep 5 | |
| [ "$i" = "3" ] && exit 1 | |
| done | |
| - name: Build Electron App | |
| run: yarn electron:package | |
| env: | |
| CI: '' | |
| - name: Smoke Test | |
| run: | | |
| echo "Listing out directory..." | |
| ls -la out/ || echo "out/ directory not found" | |
| EXE=$(node scripts/find-forge-executable.js) | |
| echo "Found executable: $EXE" | |
| node scripts/verify-executable.js "$EXE" | |
| test-mac-intel: | |
| name: Test Mac (Intel) | |
| runs-on: macos-15-intel | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js v22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'yarn' | |
| - name: Install setuptools for native modules | |
| run: | | |
| # Use pip with --break-system-packages for CI environment | |
| pip3 install --break-system-packages setuptools || pip3 install --user setuptools || true | |
| - name: Cache electron binaries | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/Library/Caches/electron | |
| key: ${{ runner.os }}-electron-v2-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: ${{ runner.os }}-electron-v2- | |
| - name: Install dependencies | |
| run: | | |
| for i in 1 2 3; do | |
| echo "yarn install attempt $i" | |
| yarn install --frozen-lockfile --ignore-engines --network-timeout 100000 --network-concurrency 1 && break | |
| sleep 5 | |
| [ "$i" = "3" ] && exit 1 | |
| done | |
| - name: Build Electron App | |
| run: yarn electron:package | |
| env: | |
| CI: '' | |
| - name: Smoke Test | |
| run: | | |
| echo "Listing out directory..." | |
| ls -la out/ || echo "out/ directory not found" | |
| EXE=$(node scripts/find-forge-executable.js) | |
| echo "Found executable: $EXE" | |
| node scripts/verify-executable.js "$EXE" | |
| test-mac-arm: | |
| name: Test Mac (Apple Silicon) | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js v22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'yarn' | |
| - name: Install setuptools for native modules | |
| run: | | |
| # Use pip with --break-system-packages for CI environment | |
| pip3 install --break-system-packages setuptools || pip3 install --user setuptools || true | |
| - name: Cache electron binaries | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/Library/Caches/electron | |
| key: ${{ runner.os }}-electron-v2-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: ${{ runner.os }}-electron-v2- | |
| - name: Install dependencies | |
| run: | | |
| for i in 1 2 3; do | |
| echo "yarn install attempt $i" | |
| yarn install --frozen-lockfile --ignore-engines --network-timeout 100000 --network-concurrency 1 && break | |
| sleep 5 | |
| [ "$i" = "3" ] && exit 1 | |
| done | |
| - name: Build Electron App | |
| run: yarn electron:package | |
| env: | |
| CI: '' | |
| - name: Smoke Test | |
| run: | | |
| echo "Listing out directory..." | |
| ls -la out/ || echo "out/ directory not found" | |
| EXE=$(node scripts/find-forge-executable.js) | |
| echo "Found executable: $EXE" | |
| node scripts/verify-executable.js "$EXE" | |
| test-windows: | |
| name: Test Windows | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js v22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'yarn' | |
| - name: Cache electron binaries | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/AppData/Local/electron/Cache | |
| key: ${{ runner.os }}-electron-v2-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: ${{ runner.os }}-electron-v2- | |
| - name: Install dependencies | |
| shell: bash | |
| run: | | |
| for i in 1 2 3; do | |
| echo "yarn install attempt $i" | |
| yarn install --frozen-lockfile --ignore-engines --network-timeout 100000 --network-concurrency 1 && break | |
| sleep 5 | |
| [ "$i" = "3" ] && exit 1 | |
| done | |
| - name: Build Electron App | |
| shell: bash | |
| timeout-minutes: 30 | |
| run: yarn electron:package | |
| env: | |
| CI: '' | |
| - name: Smoke Test | |
| shell: bash | |
| run: | | |
| echo "Listing out directory..." | |
| ls -la out/ || echo "out/ directory not found" | |
| EXE=$(node scripts/find-forge-executable.js) | |
| echo "Found executable: $EXE" | |
| node scripts/verify-executable.js "$EXE" |