fix(ci/tangled): fetch+extract full CTAN pseudo package zip (not just… #34
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: nix-validate (spindle-ci) | |
| # Build the flake.nix derivations on GH Actions to iterate on the design | |
| # before wiring them up to tangled Spindle. Triggers only on this branch | |
| # so the production gh-pages.yml is untouched. | |
| on: | |
| push: | |
| branches: [spindle-ci] | |
| workflow_dispatch: {} | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: spindle-ci | |
| - name: Install Nix (sandbox off — needed by tectonic+forester+wasm builds that fetch from the network) | |
| uses: cachix/install-nix-action@v27 | |
| with: | |
| nix_path: nixpkgs=channel:nixos-unstable | |
| extra_nix_config: | | |
| experimental-features = nix-command flakes | |
| sandbox = false | |
| substituters = https://cache.nixos.org/ | |
| trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | |
| - name: nix flake info | |
| run: | | |
| nix --extra-experimental-features 'nix-command flakes' flake metadata | |
| nix --extra-experimental-features 'nix-command flakes' flake show | |
| - name: Build forest-tectonic | |
| continue-on-error: true | |
| id: tectonic | |
| run: | | |
| out=$(nix --extra-experimental-features 'nix-command flakes' build .#forest-tectonic --no-link --print-out-paths) | |
| echo "tectonic out: $out" | |
| du -sh "$out" | |
| ls -la "$out" | |
| test -x "$out/bin/tectonic" | |
| test -f "$out/env.sh" | |
| test -d "$out/share/tectonic-cache" && echo "✓ warmed cache present" || echo "(no cache snapshot)" | |
| - name: Build forest-forester | |
| continue-on-error: true | |
| id: forester | |
| run: | | |
| out=$(nix --extra-experimental-features 'nix-command flakes' build .#forest-forester --no-link --print-out-paths) | |
| echo "forester out: $out" | |
| du -sh "$out" | |
| ls -la "$out" | |
| test -x "$out/bin/forester" | |
| "$out/bin/forester" --version || true | |
| - name: Build forest-wasm-pkgs | |
| continue-on-error: true | |
| id: wasmpkgs | |
| run: | | |
| out=$(nix --extra-experimental-features 'nix-command flakes' build .#forest-wasm-pkgs --no-link --print-out-paths) | |
| echo "wasm-pkgs out: $out" | |
| du -sh "$out" | |
| ls -la "$out/pkg" | |
| for name in wgputoy egglog rhaiscript; do | |
| test -d "$out/pkg/$name" && ls "$out/pkg/$name" | head -5 || echo "MISSING: $name" | |
| done | |
| - name: Summary | |
| if: always() | |
| run: | | |
| echo "## nix-validate summary" >> "$GITHUB_STEP_SUMMARY" | |
| for d in tectonic forester wasm-pkgs; do | |
| if out=$(nix --extra-experimental-features 'nix-command flakes' build .#forest-$d --no-link --print-out-paths 2>/dev/null); then | |
| size=$(du -sh "$out" | cut -f1) | |
| echo "- ✅ \`forest-$d\` → $size ($out)" >> "$GITHUB_STEP_SUMMARY" | |
| else | |
| echo "- ❌ \`forest-$d\`" >> "$GITHUB_STEP_SUMMARY" | |
| fi | |
| done |