Remove GitHub workflow metadata

ober

8efec21e62d1b4e2d309029435278c740d4f0cfe

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
deleted file mode 100644
index 0b253af..0000000
--- a/.github/workflows/ci.yml
+++ /dev/null
@@ -1,402 +0,0 @@
-name: CI
-
-on:
-  push:
-    branches: [master]
-  pull_request:
-
-permissions:
-  contents: read
-
-env:
-  CHEZ_COMMIT: a4be658a9ff07fcbc3b578aad28aec317422862c
-  CHEZ_TREE: 01874bbc9251758570fa05fe093a2ae49d04100b
-  FREEBSD_BASE_SHA256: 769f60a6eea2938ad6b7943cfbcc17dfaf7d1f7ba59a32b869a00349302df853
-  ZIG_SHA256: d45312e61ebcc48032b77bc4cf7fd6915c11fa16e4aad116b66c9468211230ea
-  CARGO_ZIGBUILD_SHA256: 9fd7d8136cbf7ab2ae44c046f4985c7a1aa6e2ed483187396df0076bedfa196b
-
-jobs:
-  test:
-    runs-on: ubuntu-latest
-    container:
-      image: jerboa21/jerboa@sha256:9c4034f1296601d5a9f7b219a0decdd5d62862a2be4347976b3d96b13ed7701e
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - name: Run unit tests
-        run: make test JERBOA=/build/mine/jerboa/lib SCHEME=scheme
-
-  rust-musl:
-    runs-on: ubuntu-latest
-    container:
-      image: jerboa21/jerboa@sha256:9c4034f1296601d5a9f7b219a0decdd5d62862a2be4347976b3d96b13ed7701e
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - name: Cache Rust registry
-        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
-        with:
-          path: ~/.cargo/registry
-          key: rust-musl-${{ hashFiles('patches/regex_native.rs', 'rust-coreutils/Cargo.lock') }}
-          restore-keys: rust-musl-
-      - name: Build Rust libs (x86_64-musl)
-        run: |
-          cd /build/mine/jerboa/jerboa-native-rs
-          cp $GITHUB_WORKSPACE/patches/regex_native.rs src/regex_native.rs
-          grep -q '#[cfg(feature = "duckdb")]' src/lib.rs || \
-            sed -i 's/^mod duckdb_native;/#[cfg(feature = "duckdb")]\nmod duckdb_native;/' src/lib.rs
-          RUSTFLAGS="--remap-path-prefix $HOME/.cargo/registry/src=crate" \
-          cargo build --locked --release --target x86_64-unknown-linux-musl --no-default-features --features "tls crypto sqlite"
-          strip -S target/x86_64-unknown-linux-musl/release/libjerboa_native.a
-          cp target/x86_64-unknown-linux-musl/release/libjerboa_native.a $GITHUB_WORKSPACE/
-
-          cd $GITHUB_WORKSPACE/rust-coreutils
-          RUSTFLAGS="--remap-path-prefix $HOME/.cargo/registry/src=crate" \
-          cargo build --locked --release --target x86_64-unknown-linux-musl
-          strip -S target/x86_64-unknown-linux-musl/release/libjsh_coreutils.a
-          cp target/x86_64-unknown-linux-musl/release/libjsh_coreutils.a $GITHUB_WORKSPACE/
-      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
-        with:
-          name: rust-libs-musl
-          path: |
-            libjerboa_native.a
-            libjsh_coreutils.a
-          retention-days: 7
-
-  rust-freebsd:
-    runs-on: ubuntu-latest
-    container:
-      image: jerboa21/jerboa@sha256:9c4034f1296601d5a9f7b219a0decdd5d62862a2be4347976b3d96b13ed7701e
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - name: Cache Rust registry
-        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
-        with:
-          path: ~/.cargo/registry
-          key: rust-freebsd-${{ hashFiles('patches/regex_native.rs', 'rust-coreutils/Cargo.lock') }}
-          restore-keys: rust-freebsd-
-      - name: Install FreeBSD cross target
-        run: rustup target add x86_64-unknown-freebsd
-      - name: Cache FreeBSD sysroot
-        id: cache-freebsd-sysroot
-        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
-        with:
-          path: /opt/freebsd-sysroot
-          key: freebsd-sysroot-14.4-v1
-      - name: Install FreeBSD sysroot link libs
-        if: steps.cache-freebsd-sysroot.outputs.cache-hit != 'true'
-        run: |
-          # Some transitive deps (e.g. crc-fast via uucore) declare cdylib and
-          # therefore need the FreeBSD link libs (libexecinfo, libkvm, ...).
-          # Extract just the libs from the FreeBSD 14.4 base release tarball.
-          # 14.0 was removed from download.freebsd.org; 14.4 is the latest 14.x.
-          command -v curl >/dev/null || (apt-get update -qq && apt-get install -y -qq curl xz-utils)
-          mkdir -p /opt/freebsd-sysroot
-          curl -fsSL --retry 3 -o /tmp/freebsd-base.txz \
-            https://download.freebsd.org/releases/amd64/14.4-RELEASE/base.txz
-          echo "$FREEBSD_BASE_SHA256  /tmp/freebsd-base.txz" | sha256sum -c -
-          tar -xJf /tmp/freebsd-base.txz -C /opt/freebsd-sysroot ./lib ./usr/lib
-          rm -f /tmp/freebsd-base.txz
-      - name: Build Rust libs (x86_64-freebsd)
-        run: |
-          # libc.so on FreeBSD is a linker script that references /lib/libc.so.7
-          # and /usr/lib/libc_nonshared.a as ABSOLUTE paths. Plain `-L` flags
-          # don't redirect absolute paths — only `--sysroot` does. Without it,
-          # ld looks at the host's /lib/libc.so.7 (which doesn't exist on the
-          # Linux runner) and the link fails.
-          SYSROOT_FLAGS="-C link-arg=--sysroot=/opt/freebsd-sysroot"
-          LIB_FLAGS="-L /opt/freebsd-sysroot/usr/lib -L /opt/freebsd-sysroot/lib"
-
-          cd /build/mine/jerboa/jerboa-native-rs
-          cp $GITHUB_WORKSPACE/patches/regex_native.rs src/regex_native.rs
-          grep -q '#[cfg(feature = "duckdb")]' src/lib.rs || \
-            sed -i 's/^mod duckdb_native;/#[cfg(feature = "duckdb")]\nmod duckdb_native;/' src/lib.rs
-          # Drop cdylib for jerboa-native: only the static .a is needed by jsh-freebsd.
-          sed -i 's/^crate-type = \["cdylib", "staticlib"\]/crate-type = ["staticlib"]/' Cargo.toml
-          RUSTFLAGS="--remap-path-prefix $HOME/.cargo/registry/src=crate $SYSROOT_FLAGS $LIB_FLAGS" \
-          cargo build --locked --release --target x86_64-unknown-freebsd --no-default-features
-          strip -S target/x86_64-unknown-freebsd/release/libjerboa_native.a
-          cp target/x86_64-unknown-freebsd/release/libjerboa_native.a $GITHUB_WORKSPACE/
-
-          cd $GITHUB_WORKSPACE/rust-coreutils
-          RUSTFLAGS="--remap-path-prefix $HOME/.cargo/registry/src=crate $SYSROOT_FLAGS $LIB_FLAGS" \
-          cargo build --locked --release --target x86_64-unknown-freebsd
-          strip -S target/x86_64-unknown-freebsd/release/libjsh_coreutils.a
-          cp target/x86_64-unknown-freebsd/release/libjsh_coreutils.a $GITHUB_WORKSPACE/
-      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
-        with:
-          name: rust-libs-freebsd
-          path: |
-            libjerboa_native.a
-            libjsh_coreutils.a
-          retention-days: 7
-
-  rust-android:
-    runs-on: ubuntu-latest
-    container:
-      image: jerboa21/jerboa@sha256:9c4034f1296601d5a9f7b219a0decdd5d62862a2be4347976b3d96b13ed7701e
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - name: Cache Rust registry
-        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
-        with:
-          path: ~/.cargo/registry
-          key: rust-android-${{ hashFiles('patches/regex_native.rs', 'rust-coreutils/Cargo.lock') }}
-          restore-keys: rust-android-
-      - name: Install Android cross target
-        run: rustup target add aarch64-unknown-linux-musl
-      - name: Cache zig + cargo-zigbuild
-        id: cache-zig
-        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
-        with:
-          path: |
-            /opt/zig
-            /usr/local/bin/cargo-zigbuild
-          key: zig-0.13.0-zigbuild-0.22.3
-      - name: Install zig + cargo-zigbuild
-        if: steps.cache-zig.outputs.cache-hit != 'true'
-        shell: bash
-        run: |
-          # Use zig as the cross-linker for aarch64-linux-musl. Zig bundles its
-          # own musl libc/headers and downloads from ziglang.org / GitHub release
-          # mirrors which are far more reliable than musl.cc (which routinely
-          # times out from GitHub runners). cargo-zigbuild wraps cargo to use
-          # zig as the linker, transparently handling musl cross-link.
-          command -v curl >/dev/null || (apt-get update -qq && apt-get install -y -qq curl xz-utils)
-          mkdir -p /opt/zig
-          ZIG_VERSION=0.13.0
-          curl -fsSL --retry 5 --retry-delay 5 --max-time 300 \
-            "https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz" \
-            -o /tmp/zig.tar.xz
-          echo "$ZIG_SHA256  /tmp/zig.tar.xz" | sha256sum -c -
-          tar -xJf /tmp/zig.tar.xz -C /opt/zig --strip-components=1
-          rm -f /tmp/zig.tar.xz
-          # Pre-built cargo-zigbuild binary (avoid 5-min cargo install build)
-          ZIGBUILD_VERSION=0.22.3
-          curl -fsSL --retry 5 --retry-delay 5 --max-time 300 \
-            "https://github.com/rust-cross/cargo-zigbuild/releases/download/v${ZIGBUILD_VERSION}/cargo-zigbuild-x86_64-unknown-linux-musl.tar.xz" \
-            -o /tmp/cargo-zigbuild.tar.xz
-          echo "$CARGO_ZIGBUILD_SHA256  /tmp/cargo-zigbuild.tar.xz" | sha256sum -c -
-          tar -xJf /tmp/cargo-zigbuild.tar.xz -C /usr/local/bin/
-          rm -f /tmp/cargo-zigbuild.tar.xz
-      - name: Build Rust libs (aarch64-musl)
-        run: |
-          export PATH=/opt/zig:/usr/local/bin:$PATH
-          cd /build/mine/jerboa/jerboa-native-rs
-          cp $GITHUB_WORKSPACE/patches/regex_native.rs src/regex_native.rs
-          grep -q '#[cfg(feature = "duckdb")]' src/lib.rs || \
-            sed -i 's/^mod duckdb_native;/#[cfg(feature = "duckdb")]\nmod duckdb_native;/' src/lib.rs
-          sed -i '/SYS_LANDLOCK_RESTRICT_SELF.*446;$/a\\n#[cfg(target_arch = "aarch64")]\nconst SYS_LANDLOCK_CREATE_RULESET: libc::c_long = 444;\n#[cfg(target_arch = "aarch64")]\nconst SYS_LANDLOCK_ADD_RULE: libc::c_long = 445;\n#[cfg(target_arch = "aarch64")]\nconst SYS_LANDLOCK_RESTRICT_SELF: libc::c_long = 446;' src/landlock.rs
-          # Drop cdylib for cross-compile: only the static .a is needed by jsh-android.
-          sed -i 's/^crate-type = \["cdylib", "staticlib"\]/crate-type = ["staticlib"]/' Cargo.toml
-          RUSTFLAGS="--remap-path-prefix $HOME/.cargo/registry/src=crate" \
-          cargo zigbuild --locked --release --target aarch64-unknown-linux-musl --no-default-features
-          strip -S target/aarch64-unknown-linux-musl/release/libjerboa_native.a
-          cp target/aarch64-unknown-linux-musl/release/libjerboa_native.a $GITHUB_WORKSPACE/
-
-          cd $GITHUB_WORKSPACE/rust-coreutils
-          RUSTFLAGS="--remap-path-prefix $HOME/.cargo/registry/src=crate" \
-          cargo zigbuild --locked --release --target aarch64-unknown-linux-musl
-          strip -S target/aarch64-unknown-linux-musl/release/libjsh_coreutils.a
-          cp target/aarch64-unknown-linux-musl/release/libjsh_coreutils.a $GITHUB_WORKSPACE/
-      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
-        with:
-          name: rust-libs-android
-          path: |
-            libjerboa_native.a
-            libjsh_coreutils.a
-          retention-days: 7
-
-  build:
-    needs: rust-musl
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
-        with:
-          name: rust-libs-musl
-          path: prebuilt/
-      - name: Install Podman
-        run: |
-          sudo apt-get update
-          sudo apt-get install -y podman
-          podman --version
-      - name: Build jsh-musl (Podman, pre-built Rust libs injected)
-        run: |
-          make podman \
-            JSH_PREBUILT_NATIVE=prebuilt/libjerboa_native.a \
-            JSH_PREBUILT_COREUTILS=prebuilt/libjsh_coreutils.a
-      - name: Verify binary
-        run: |
-          ls -lh jsh-musl
-          file jsh-musl
-          cat jsh-musl.sha256
-      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
-        with:
-          name: jsh-musl
-          path: |
-            jsh-musl
-            jsh-musl.sha256
-          if-no-files-found: error
-          retention-days: 30
-
-  build-freebsd:
-    needs: rust-freebsd
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
-        with:
-          name: rust-libs-freebsd
-          path: prebuilt/
-      - name: Install Podman
-        run: |
-          sudo apt-get update
-          sudo apt-get install -y podman
-          podman --version
-      - name: Build jsh-freebsd (Podman, pre-built Rust libs injected)
-        run: |
-          make freebsd-podman \
-            JSH_PREBUILT_NATIVE=prebuilt/libjerboa_native.a \
-            JSH_PREBUILT_COREUTILS=prebuilt/libjsh_coreutils.a
-      - name: Verify binary
-        run: |
-          ls -lh jsh-freebsd
-          file jsh-freebsd
-          cat jsh-freebsd.sha256
-      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
-        with:
-          name: jsh-freebsd
-          path: |
-            jsh-freebsd
-            jsh-freebsd.sha256
-          if-no-files-found: error
-          retention-days: 30
-
-  build-android:
-    needs: rust-android
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - name: Install Podman and QEMU
-        run: |
-          sudo apt-get update
-          sudo apt-get install -y podman qemu-user-static binfmt-support
-          sudo update-binfmts --enable qemu-aarch64 || true
-          podman --version
-      - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
-        with:
-          name: rust-libs-android
-          path: prebuilt/
-      - name: Build jsh-android (Podman, pre-built Rust libs injected)
-        run: |
-          make android-podman \
-            JSH_PREBUILT_NATIVE=prebuilt/libjerboa_native.a \
-            JSH_PREBUILT_COREUTILS=prebuilt/libjsh_coreutils.a
-      - name: Verify binary
-        run: |
-          ls -lh jsh-android
-          file jsh-android
-          cat jsh-android.sha256
-      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
-        with:
-          name: jsh-android
-          path: |
-            jsh-android
-            jsh-android.sha256
-          if-no-files-found: error
-          retention-days: 30
-
-  build-macos:
-    runs-on: macos-latest
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - name: Install dependencies
-        run: |
-          brew install openssl@3 lz4
-          echo "PKG_CONFIG_PATH=$(brew --prefix openssl@3)/lib/pkgconfig" >> $GITHUB_ENV
-      - name: Cache our Chez Scheme install
-        id: cache-chez
-        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
-        with:
-          path: |
-            /opt/homebrew/lib/csv10.4.0-pre-release.4
-            /opt/homebrew/bin/scheme
-            /opt/homebrew/bin/petite
-            /opt/homebrew/bin/scheme-script
-          key: chez-macos-arm64-${{ env.CHEZ_COMMIT }}
-      - name: Build our Chez Scheme fork
-        if: steps.cache-chez.outputs.cache-hit != 'true'
-        run: |
-          # jerboa-shell needs ober/ChezScheme (10.4.0-pre-release.4+) which adds
-          # base64-encode/decode, sha256-bytevector, etc. Stock Cisco Chez 10.3
-          # and Homebrew chezscheme are too old.
-          git init /tmp/ChezScheme
-          git -C /tmp/ChezScheme remote add origin https://github.com/ober/ChezScheme.git
-          git -C /tmp/ChezScheme fetch --depth 1 origin "$CHEZ_COMMIT"
-          git -C /tmp/ChezScheme checkout --detach FETCH_HEAD
-          test "$(git -C /tmp/ChezScheme rev-parse HEAD)" = "$CHEZ_COMMIT"
-          test "$(git -C /tmp/ChezScheme rev-parse 'HEAD^{tree}')" = "$CHEZ_TREE"
-          cd /tmp/ChezScheme
-          ./configure --installprefix=/opt/homebrew
-          make -j$(sysctl -n hw.ncpu)
-          sudo make install
-      - name: Verify Chez Scheme
-        run: |
-          which scheme
-          scheme --version
-          echo '(display (top-level-bound? (quote base64-encode))) (newline)' | scheme --script /dev/stdin
-      - name: Install Rust toolchain
-        uses: dtolnay/rust-toolchain@8fae6aadcd3e1a6f3fcb446ce7f9438c9d1349f1 # 1.94.1
-        with:
-          toolchain: 1.94.1
-      - name: Cache Rust registry
-        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
-        with:
-          path: ~/.cargo/registry
-          key: rust-macos-${{ hashFiles('patches/regex_native.rs', 'rust-coreutils/Cargo.lock') }}
-          restore-keys: rust-macos-
-      - name: Build jsh-macos
-        run: make jsh-macos
-      - name: Smoke-test binary
-        run: |
-          ls -lh jsh-macos
-          ./jsh-macos -c 'echo ok'
-      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
-        with:
-          name: jsh-macos
-          path: |
-            jsh-macos
-            jsh-macos.sha256
-          if-no-files-found: error
-          retention-days: 30
-
-  release:
-    needs: [test, build, build-freebsd, build-android, build-macos]
-    if: github.ref == 'refs/heads/master' && github.event_name == 'push'
-    runs-on: ubuntu-latest
-    permissions:
-      contents: write
-    steps:
-      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
-      - name: Enforce committed satellite source identities
-        run: sh support/check-source-release.sh
-      - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
-        with:
-          path: artifacts
-          merge-multiple: true
-      - name: Update rolling 'latest' release
-        env:
-          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        run: |
-          TAG=latest
-          gh release view "$TAG" --repo "${{ github.repository }}" >/dev/null 2>&1 || \
-            gh release create "$TAG" \
-              --repo "${{ github.repository }}" \
-              --title "Latest static jsh binaries" \
-              --notes "Auto-built by CI from latest master commit." \
-              --target master
-          gh release upload "$TAG" \
-            artifacts/jsh-musl artifacts/jsh-musl.sha256 \
-            artifacts/jsh-freebsd artifacts/jsh-freebsd.sha256 \
-            artifacts/jsh-android artifacts/jsh-android.sha256 \
-            artifacts/jsh-macos artifacts/jsh-macos.sha256 \
-            --repo "${{ github.repository }}" --clobber