Add AltStore repo reference to README and browser terminal #17
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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - public-main | |
| pull_request: | |
| jobs: | |
| build-linux: | |
| name: Build Linux core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install native build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang cmake ninja-build libc++-dev libc++abi-dev | |
| - name: Build Linux-compatible projects | |
| run: | | |
| dotnet build Podish.Cli/Podish.Cli.csproj -c Debug | |
| dotnet build Podish.Core.Native/Podish.Core.Native.csproj -c Debug | |
| dotnet build Podish.PjdFs/Podish.PjdFs.csproj -c Debug | |
| dotnet build Fiberish.Tests/Fiberish.Tests.csproj -c Debug | |
| dotnet build Fiberish.SilkFS.Tests/Fiberish.SilkFS.Tests.csproj -c Debug | |
| dotnet build Podish.Pulse.Tests/Podish.Pulse.Tests.csproj -c Debug | |
| dotnet build Podish.Wayland.Tests/Podish.Wayland.Tests.csproj -c Debug | |
| build-windows: | |
| name: Build Windows PodishCli | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Build Windows-compatible projects | |
| run: | | |
| dotnet build Podish.Cli/Podish.Cli.csproj -c Debug -r win-x64 | |
| dotnet build Fiberish.X86/Fiberish.X86.csproj -c Debug -r win-x64 | |
| shell: pwsh | |
| build-macos: | |
| name: Build macOS full solution | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install native build dependencies | |
| run: | | |
| brew install cmake ninja | |
| - name: Install WebAssembly workload | |
| run: dotnet workload install wasm-tools | |
| - name: Resolve browser-wasm toolchain | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| dotnet_root="${DOTNET_ROOT:-}" | |
| if [[ -z "${dotnet_root}" ]]; then | |
| dotnet_root="$(dirname "$(command -v dotnet)")" | |
| fi | |
| if [[ ! -d "$dotnet_root/packs" ]]; then | |
| echo "Failed to locate dotnet packs under $dotnet_root/packs" >&2 | |
| echo "command -v dotnet => $(command -v dotnet)" >&2 | |
| echo "DOTNET_ROOT => ${DOTNET_ROOT:-<unset>}" >&2 | |
| exit 1 | |
| fi | |
| emscripten_toolchain="$(find "$dotnet_root/packs" -path '*/tools/emscripten/cmake/Modules/Platform/Emscripten.cmake' -print -quit)" | |
| browser_node="$(find "$dotnet_root/packs" -path '*/tools/bin/node' -print | grep 'Microsoft.NET.Runtime.Emscripten.*Node' | head -n 1)" | |
| if [[ -z "${emscripten_toolchain:-}" ]]; then | |
| echo "Failed to locate Emscripten.cmake under $dotnet_root/packs" >&2 | |
| exit 1 | |
| fi | |
| if [[ -z "${browser_node:-}" ]]; then | |
| echo "Failed to locate the Emscripten Node runtime under $dotnet_root/packs" >&2 | |
| exit 1 | |
| fi | |
| emsdk_tools_root="$(cd "$(dirname "$emscripten_toolchain")/../../../../" && pwd)" | |
| ninja_bin="$(command -v ninja || true)" | |
| if [[ -z "${ninja_bin:-}" ]]; then | |
| echo "Failed to locate ninja in PATH after brew install" >&2 | |
| exit 1 | |
| fi | |
| echo "EMSDK_PATH=$emsdk_tools_root" >> "$GITHUB_ENV" | |
| echo "DOTNET_EMSCRIPTEN_LLVM_ROOT=$emsdk_tools_root/bin" >> "$GITHUB_ENV" | |
| echo "DOTNET_EMSCRIPTEN_BINARYEN_ROOT=$emsdk_tools_root" >> "$GITHUB_ENV" | |
| echo "DOTNET_EMSCRIPTEN_NODE_JS=$browser_node" >> "$GITHUB_ENV" | |
| echo "EM_CACHE=$RUNNER_TEMP/emscripten-cache" >> "$GITHUB_ENV" | |
| echo "FROZEN_CACHE=" >> "$GITHUB_ENV" | |
| echo "EMSCRIPTEN_TOOLCHAIN_FILE=$emscripten_toolchain" >> "$GITHUB_ENV" | |
| echo "BROWSER_WASM_NODE_EXECUTABLE=$browser_node" >> "$GITHUB_ENV" | |
| echo "$emsdk_tools_root/emscripten" >> "$GITHUB_PATH" | |
| echo "$emsdk_tools_root/bin" >> "$GITHUB_PATH" | |
| echo "$(dirname "$browser_node")" >> "$GITHUB_PATH" | |
| echo "$(dirname "$ninja_bin")" >> "$GITHUB_PATH" | |
| - name: Prepare Emscripten cache | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| mkdir -p "$EM_CACHE" | |
| - name: Build full solution | |
| run: dotnet build Podish.slnx -c Debug -p:EmscriptenToolchainFile="$EMSCRIPTEN_TOOLCHAIN_FILE" -p:BrowserWasmNodeExecutable="$BROWSER_WASM_NODE_EXECUTABLE" |