From ac409df025fb47e49992587ee40dc719b53e6ee2 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Wed, 8 Apr 2026 12:07:09 +0400 Subject: [PATCH] Rename prelude build command to rainlang-prelude Closes #461 Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/git-clean.yaml | 9 +-------- .github/workflows/manual-sol-artifacts.yaml | 9 ++------- .github/workflows/rainix.yaml | 6 +----- CLAUDE.md | 9 +++++---- flake.nix | 6 +++--- script/BuildAuthoringMeta.sol | 4 ++-- 6 files changed, 14 insertions(+), 29 deletions(-) diff --git a/.github/workflows/git-clean.yaml b/.github/workflows/git-clean.yaml index e91c1355b..7cd3a1d86 100644 --- a/.github/workflows/git-clean.yaml +++ b/.github/workflows/git-clean.yaml @@ -1,10 +1,8 @@ name: Git is clean on: [push] - concurrency: group: ${{ github.ref }}-git-clean cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - jobs: git-clean: runs-on: ubuntu-latest @@ -13,7 +11,6 @@ jobs: with: submodules: recursive fetch-depth: 0 - - uses: nixbuild/nix-quick-install-action@v30 with: nix_conf: | @@ -30,15 +27,11 @@ jobs: # before trying to save a new cache # 1G = 1073741824 gc-max-store-size-linux: 1G - # Build metas etc. required to do a correct pointer build. - - run: nix develop -c i9r-prelude - + - run: nix develop -c rainlang-prelude - run: nix develop -c forge script ./script/BuildPointers.sol - # Format the repo after generating pointers so that the pointer files are # formatted too. - run: nix develop -c forge fmt - # Check if the repo is clean after generating pointers and formatting. - run: git diff --exit-code diff --git a/.github/workflows/manual-sol-artifacts.yaml b/.github/workflows/manual-sol-artifacts.yaml index 95a1f85c5..40dfdd245 100644 --- a/.github/workflows/manual-sol-artifacts.yaml +++ b/.github/workflows/manual-sol-artifacts.yaml @@ -12,7 +12,6 @@ on: - interpreter - expression-deployer - rainlang - jobs: deploy: runs-on: ubuntu-latest @@ -21,7 +20,6 @@ jobs: with: submodules: recursive fetch-depth: 0 - - uses: nixbuild/nix-quick-install-action@v30 with: nix_conf: | @@ -38,24 +36,21 @@ jobs: # before trying to save a new cache # 1G = 1073741824 gc-max-store-size-linux: 1G - - run: nix develop --command rainix-sol-prelude - run: nix develop --command rainix-rs-prelude - - run: nix develop --command i9r-prelude + - run: nix develop --command rainlang-prelude - run: nix develop -c forge selectors up --all - run: nix develop -c forge script script/Deploy.sol:Deploy -vvvvv --slow --broadcast --verify env: DEPLOYMENT_KEY: ${{ github.ref == 'refs/heads/main' && secrets.PRIVATE_KEY || secrets.PRIVATE_KEY_DEV }} DEPLOYMENT_SUITE: ${{ inputs.suite }} - CI_DEPLOY_ARBITRUM_RPC_URL: ${{ secrets.CI_DEPLOY_ARBITRUM_RPC_URL || vars.CI_DEPLOY_ARBITRUM_RPC_URL || '' }} CI_DEPLOY_BASE_RPC_URL: ${{ secrets.CI_DEPLOY_BASE_RPC_URL || vars.CI_DEPLOY_BASE_RPC_URL || '' }} CI_DEPLOY_BASE_SEPOLIA_RPC_URL: ${{ secrets.CI_DEPLOY_BASE_SEPOLIA_RPC_URL || vars.CI_DEPLOY_BASE_SEPOLIA_RPC_URL || '' }} CI_DEPLOY_FLARE_RPC_URL: ${{ secrets.CI_DEPLOY_FLARE_RPC_URL || vars.CI_DEPLOY_FLARE_RPC_URL || '' }} CI_DEPLOY_POLYGON_RPC_URL: ${{ secrets.CI_DEPLOY_POLYGON_RPC_URL || vars.CI_DEPLOY_POLYGON_RPC_URL || '' }} - CI_DEPLOY_ARBITRUM_ETHERSCAN_API_KEY: ${{ secrets.CI_DEPLOY_ARBITRUM_ETHERSCAN_API_KEY || vars.CI_DEPLOY_ARBITRUM_ETHERSCAN_API_KEY || '' }} CI_DEPLOY_BASE_ETHERSCAN_API_KEY: ${{ secrets.CI_DEPLOY_BASE_ETHERSCAN_API_KEY || vars.CI_DEPLOY_BASE_ETHERSCAN_API_KEY || '' }} CI_DEPLOY_BASE_SEPOLIA_ETHERSCAN_API_KEY: ${{ secrets.CI_DEPLOY_BASE_SEPOLIA_ETHERSCAN_API_KEY || vars.CI_DEPLOY_BASE_SEPOLIA_ETHERSCAN_API_KEY || '' }} CI_DEPLOY_FLARE_ETHERSCAN_API_KEY: ${{ secrets.CI_DEPLOY_FLARE_ETHERSCAN_API_KEY || vars.CI_DEPLOY_FLARE_ETHERSCAN_API_KEY || '' }} - CI_DEPLOY_POLYGON_ETHERSCAN_API_KEY: ${{ secrets.CI_DEPLOY_POLYGON_ETHERSCAN_API_KEY || vars.CI_DEPLOY_POLYGON_ETHERSCAN_API_KEY || '' }} \ No newline at end of file + CI_DEPLOY_POLYGON_ETHERSCAN_API_KEY: ${{ secrets.CI_DEPLOY_POLYGON_ETHERSCAN_API_KEY || vars.CI_DEPLOY_POLYGON_ETHERSCAN_API_KEY || '' }} diff --git a/.github/workflows/rainix.yaml b/.github/workflows/rainix.yaml index fb2554411..15f3ca531 100644 --- a/.github/workflows/rainix.yaml +++ b/.github/workflows/rainix.yaml @@ -1,10 +1,8 @@ name: Rainix CI on: [push] - concurrency: group: ${{ github.ref }}-rainix cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - jobs: rainix: strategy: @@ -32,7 +30,6 @@ jobs: with: submodules: recursive fetch-depth: 0 - - uses: nixbuild/nix-quick-install-action@v30 with: nix_conf: | @@ -49,10 +46,9 @@ jobs: # before trying to save a new cache # 1G = 1073741824 gc-max-store-size-linux: 1G - - run: nix develop -c rainix-sol-prelude - run: nix develop -c rainix-rs-prelude - - run: nix develop -c i9r-prelude + - run: nix develop -c rainlang-prelude - name: Run ${{ matrix.task }} env: ETH_RPC_URL: ${{ secrets.CI_DEPLOY_SEPOLIA_RPC_URL || vars.CI_DEPLOY_SEPOLIA_RPC_URL }} diff --git a/CLAUDE.md b/CLAUDE.md index 1e277b78e..9e8d50cb9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -20,10 +20,10 @@ the nix shell via direnv. ```bash nix develop -c rainix-sol-prelude nix develop -c rainix-rs-prelude -nix develop -c i9r-prelude +nix develop -c rainlang-prelude ``` -`i9r-prelude` generates metadata files needed by the Solidity build (runs +`rainlang-prelude` generates metadata files needed by the Solidity build (runs `BuildAuthoringMeta.sol`, then `rain meta build` to produce CBOR-encoded deflated meta). @@ -52,7 +52,7 @@ nix develop -c cargo doc # Rust docs ### Build Pipeline 1. `BuildAuthoringMeta.sol` exports raw ABI-encoded authoring meta to `meta/` -2. `i9r-prelude` runs `rain meta build` to CBOR-encode and deflate the meta +2. `rainlang-prelude` runs `rain meta build` to CBOR-encode and deflate the meta 3. `nix develop -c forge script --silent ./script/BuildPointers.sol` deploys contracts in local EVM, extracts function pointer tables, and writes `src/generated/*.pointers.sol` @@ -65,7 +65,8 @@ The `src/generated/` directory contains build-time generated constants (bytecode hashes, function pointer tables, parse meta). These are regenerated by `BuildPointers.sol`. -After any source change affecting bytecode: run `nix develop -c i9r-prelude` → +After any source change affecting bytecode: run +`nix develop -c rainlang-prelude` → `nix develop -c forge script --silent ./script/BuildPointers.sol` → `nix develop -c forge fmt`, then run `LibInterpreterDeployTest` to get new deploy addresses/codehashes. Update `LibInterpreterDeploy.sol` and repeat until diff --git a/flake.nix b/flake.nix index 5b35ea520..668d46f41 100644 --- a/flake.nix +++ b/flake.nix @@ -21,8 +21,8 @@ in rec { packages = rec { - i9r-prelude = rainix.mkTask.${system} { - name = "i9r-prelude"; + rainlang-prelude = rainix.mkTask.${system} { + name = "rainlang-prelude"; body = '' set -euxo pipefail @@ -66,7 +66,7 @@ devShells.default = pkgs.mkShell { inherit (rainix.devShells.${system}.default) shellHook; packages = [ - packages.i9r-prelude + packages.rainlang-prelude packages.test-wasm-build ]; inputsFrom = [ rainix.devShells.${system}.default ]; diff --git a/script/BuildAuthoringMeta.sol b/script/BuildAuthoringMeta.sol index 94ddd89e9..77cf34494 100644 --- a/script/BuildAuthoringMeta.sol +++ b/script/BuildAuthoringMeta.sol @@ -8,12 +8,12 @@ import {LibRainlangReferenceExtern} from "../src/concrete/extern/RainlangReferen /// @title BuildAuthoringMeta /// @notice Forge script that writes raw ABI-encoded AuthoringMeta bytes to -/// disk for each parser. The output files are consumed by the `i9r-prelude` +/// disk for each parser. The output files are consumed by the `rainlang-prelude` /// meta build pipeline which deflates and cbor-encodes them. contract BuildAuthoringMeta is Script { /// Writes raw ABI-encoded authoring meta bytes to disk for both the /// standard ops and the reference extern. The output files are consumed - /// by the `i9r-prelude` meta build pipeline to produce the final + /// by the `rainlang-prelude` meta build pipeline to produce the final /// deflated/cbor-encoded meta. function run() external { vm.writeFileBinary("meta/AuthoringMeta.rain.meta", LibAllStandardOps.authoringMetaV2());