Close gaps in grouping, regression detection, alerts, ownership, environments, and session #28
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: Product CI | |
| on: | |
| pull_request: | |
| branches: [main] | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'README.md' | |
| - 'CONTRIBUTING.md' | |
| - 'SUPPORT.md' | |
| - '.github/**' | |
| - 'scripts/verify-landing-surface.sh' | |
| - 'scripts/verify-m051-s01.sh' | |
| - 'mesher/**' | |
| permissions: | |
| contents: read | |
| jobs: | |
| mesher-maintainer-surface: | |
| name: Mesher maintainer surface | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout product repo | |
| uses: actions/checkout@v4 | |
| - name: Checkout mesh-lang toolchain repo | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: hyperpush-org/mesh-lang | |
| path: mesh-lang | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache LLVM | |
| uses: actions/cache@v4 | |
| id: cache-llvm | |
| with: | |
| path: ~/llvm | |
| key: llvm-21.1.8-v3-x86_64-unknown-linux-gnu | |
| - name: Install LLVM 21 (Linux x86_64) | |
| if: steps.cache-llvm.outputs.cache-hit != 'true' | |
| timeout-minutes: 10 | |
| run: | | |
| LLVM_VERSION="21.1.8" | |
| LLVM_ARCHIVE="LLVM-${LLVM_VERSION}-Linux-X64.tar.xz" | |
| LLVM_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/${LLVM_ARCHIVE}" | |
| curl -sSfL "$LLVM_URL" -o llvm.tar.xz | |
| mkdir -p "$HOME/llvm" | |
| tar xf llvm.tar.xz --strip-components=1 -C "$HOME/llvm" | |
| rm llvm.tar.xz | |
| - name: Set LLVM prefix (Linux tarball) | |
| shell: bash | |
| run: echo "LLVM_SYS_211_PREFIX=$HOME/llvm" >> "$GITHUB_ENV" | |
| - name: Build meshc and mesh-rt from sibling toolchain repo | |
| working-directory: mesh-lang | |
| run: cargo build -p meshc -p mesh-rt | |
| - name: Install PostgreSQL client | |
| run: sudo apt-get update && sudo apt-get install -y postgresql-client | |
| - name: Verify Mesher maintainer surface | |
| env: | |
| MESHER_MESHC_BIN: ${{ github.workspace }}/mesh-lang/target/debug/meshc | |
| MESHER_MESHC_SOURCE: ci-mesh-lang-checkout | |
| CARGO_TARGET_DIR: ${{ github.workspace }}/mesh-lang/target | |
| run: bash scripts/verify-m051-s01.sh | |
| landing-and-client: | |
| name: Landing and client build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: | | |
| mesher/landing/package-lock.json | |
| mesher/client/package-lock.json | |
| - name: Verify landing surface contract | |
| run: bash scripts/verify-landing-surface.sh | |
| - name: Install landing dependencies | |
| run: npm --prefix mesher/landing ci | |
| - name: Build landing | |
| env: | |
| NEXT_PUBLIC_SITE_URL: https://hyperpush.dev | |
| NEXT_PUBLIC_DISCORD_URL: https://discord.gg/6SRhbZw7ZG | |
| run: npm --prefix mesher/landing run build | |
| - name: Install client dependencies | |
| run: npm --prefix mesher/client ci | |
| - name: Verify client route-inventory structural contract | |
| run: node --test mesher/scripts/tests/verify-client-route-inventory.test.mjs | |
| - name: Build client | |
| run: npm --prefix mesher/client run build |