-
Notifications
You must be signed in to change notification settings - Fork 21
add CI/CD workflow #40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughAdds a GitHub Actions workflow "Test Examples" that provisions Rust 1.82, installs Solana CLI and Anchor via AVM (avm 0.31.1), installs MagicBlock Ephemeral Validator, starts local Solana and MagicBlock validators, builds/deploys Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor GitHub
participant Runner as GitHub Runner
participant Solana as solana-test-validator
participant MEV as MagicBlock Ephemeral Validator
participant Anchor as Anchor / anchor-counter
GitHub->>Runner: Trigger workflow (push/PR/manual)
Runner->>Runner: Checkout repo, setup Rust 1.82
Runner->>Runner: Install Solana CLI, configure solana
Runner->>Runner: Install AVM & Anchor (avm 0.31.1)
Runner->>Runner: Install MagicBlock Ephemeral Validator (npm)
Runner->>Solana: Start solana-test-validator (clones & upgradeable programs)
Solana-->>Runner: RPC ready
Runner->>MEV: Start MagicBlock ephemeral validator (point to local RPC)
MEV-->>Runner: RPC ready
Runner->>Anchor: Build & deploy anchor-counter to localnet
Runner->>Anchor: Run tests (env configured)
Anchor-->>Runner: Test results
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🪛 actionlint (1.7.8).github/workflows/test.yml18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue (action) 🪛 YAMLlint (1.37.1).github/workflows/test.yml[warning] 3-3: truthy value should be one of [false, true] (truthy) [error] 5-5: too many spaces inside brackets (brackets) [error] 5-5: too many spaces inside brackets (brackets) [error] 7-7: too many spaces inside brackets (brackets) [error] 7-7: too many spaces inside brackets (brackets) ⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test.yml
(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.7)
.github/workflows/test.yml
18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🪛 YAMLlint (1.37.1)
.github/workflows/test.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
workflow_dispatch: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tighten trigger syntax to satisfy yamllint
yamllint
flags the current trigger block (on
, [ main ]
). Quote the key and drop the extra spaces to clear the errors:
-on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
+'on':
+ push:
+ branches: [main]
+ pull_request:
+ branches: [main]
🧰 Tools
🪛 YAMLlint (1.37.1)
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
🤖 Prompt for AI Agents
In .github/workflows/test.yml around lines 3 to 8, tighten the GitHub Actions
trigger syntax to satisfy yamllint by removing the extra spaces in the branches
array and quoting keys/strings: replace occurrences like branches: [ main ] with
branches: ["main"] (no spaces inside the brackets) and ensure any YAML keys or
string values flagged by yamllint are quoted as required (e.g., "on" or branch
names) so the trigger block is valid.
- name: Setup Rust | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: '1.82' | ||
override: true | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace the deprecated Rust toolchain action
actions-rs/toolchain@v1
now targets the removed Node12 runtime, so the step fails before the workflow can install Rust. Switch to a maintained setup action. For example:
- - name: Setup Rust
- uses: actions-rs/toolchain@v1
- with:
- toolchain: '1.82'
- override: true
+ - name: Setup Rust
+ uses: dtolnay/rust-toolchain@master
+ with:
+ toolchain: 1.82
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
- name: Setup Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: '1.82' | |
override: true | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: 1.82 |
🧰 Tools
🪛 actionlint (1.7.7)
18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🤖 Prompt for AI Agents
In .github/workflows/test.yml around lines 17-22, the workflow uses the
deprecated actions-rs/toolchain@v1 (Node12 runtime) which fails; replace that
step with a maintained setup action such as dtolnay/setup-rust@v1 (or
actions-rs/toolchain@v2 if available) and set the rust-version input to '1.82'
(remove the Node12-specific override), e.g., swap the uses line to
dtolnay/setup-rust@v1 and provide rust-version: '1.82' so the workflow installs
Rust with a supported action.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
♻️ Duplicate comments (3)
.github/workflows/test.yml (3)
3-7
: Quote "on" and tighten branches array spacingYamllint flags unquoted on and spaces inside brackets. Quote the key and remove extra spaces.
-on: - push: - branches: [ main ] - pull_request: - branches: [ main ] +"on": + push: + branches: [main] + pull_request: + branches: [main]
17-21
: Replace deprecated Rust toolchain action (Node12) with maintained oneactions-rs/toolchain@v1 fails on GitHub-hosted runners. Use dtolnay/rust-toolchain.
- - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: '1.82' - override: true + - name: Setup Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.82
89-93
: Use websocket scheme for WS_ENDPOINTWS_ENDPOINT must be ws://. Using http:// will break websocket clients.
- WS_ENDPOINT=http://localhost:8900 \ + WS_ENDPOINT=ws://localhost:8900 \Note: mirror this change in the commented example blocks below for consistency when enabling them.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test.yml
(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.7)
.github/workflows/test.yml
18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🪛 YAMLlint (1.37.1)
.github/workflows/test.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test-examples
- name: Install MagicBlock Ephemeral Validator | ||
run: | | ||
npm install -g @magicblock-labs/ephemeral-validator@latest | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick | 🔵 Trivial
Pin Ephemeral Validator npm version for reproducibility
Installing @latest is brittle. Pin a known-good version to avoid sudden CI breaks.
- npm install -g @magicblock-labs/ephemeral-validator@latest
+ npm install -g @magicblock-labs/ephemeral-validator@<pinned-version>
If you share the target version, I can update the diff.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
- name: Install MagicBlock Ephemeral Validator | |
run: | | |
npm install -g @magicblock-labs/ephemeral-validator@latest | |
- name: Install MagicBlock Ephemeral Validator | |
run: | | |
npm install -g @magicblock-labs/ephemeral-validator@<pinned-version> |
🤖 Prompt for AI Agents
.github/workflows/test.yml around lines 35 to 38: the workflow installs
@magicblock-labs/ephemeral-validator using @latest which is brittle; change the
install step to pin a specific known-good semver (e.g., @1.2.3) or reference a
repository variable/GITHUB_REF for the approved release, updating the npm
install -g invocation to use that explicit version string (and if you want, add
a comment or workflow input to make future version updates explicit).
.github/workflows/test.yml
Outdated
- name: Increase file descriptor limit | ||
run: | | ||
ulimit -n 1000000 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ulimit change is scoped to this step; it won’t affect later steps
File descriptor limit resets per step. Move ulimit into the steps that start validators (before launching processes), and drop this standalone step.
- - name: Increase file descriptor limit
- run: |
- ulimit -n 1000000
+ # removed separate ulimit step; applied in validator steps
Apply ulimit at the top of each start step:
- name: Start Solana Test Validator
run: |
+ ulimit -n 1000000
solana-test-validator \
...
- name: Start MagicBlock Ephemeral Validator
run: |
+ ulimit -n 1000000
RUST_LOG=info ephemeral-validator \
...
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
- name: Increase file descriptor limit | |
run: | | |
ulimit -n 1000000 | |
# (removed standalone ulimit step; applying ulimit in each validator step) | |
- name: Start Solana Test Validator | |
run: | | |
ulimit -n 1000000 | |
solana-test-validator \ | |
--reset \ | |
--limit-ledger-size \ | |
# …other flags… | |
- name: Start MagicBlock Ephemeral Validator | |
run: | | |
ulimit -n 1000000 | |
RUST_LOG=info ephemeral-validator \ | |
--network localnet \ | |
# …other flags… |
🤖 Prompt for AI Agents
.github/workflows/test.yml lines 65-68: the workflow currently runs a standalone
step to set ulimit (ulimit -n 1000000), but ulimit is process/step-scoped and
will not persist to later steps; remove this standalone step and instead add the
ulimit command at the start of each step that launches validators or other
long-running processes (i.e., prepend `ulimit -n 1000000` as the first command
in those run blocks) so the increased file descriptor limit applies to the
processes started in those steps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (5)
.github/workflows/test.yml (5)
3-8
: Tighten triggers to satisfy yamllint.Quote the on key and remove extra spaces inside bracket arrays.
-on: - push: - branches: [ main ] - pull_request: - branches: [ main ] +'on': + push: + branches: [main] + pull_request: + branches: [main]
17-22
: Replace deprecated Rust toolchain action.actions-rs/toolchain@v1 targets Node12 and fails on GitHub Actions. Use a maintained action.
- - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: '1.82' - override: true + - name: Setup Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.82
35-38
: Pin Ephemeral Validator npm version for reproducibility.Avoid @latest to prevent surprise CI breaks.
- npm install -g @magicblock-labs/ephemeral-validator@latest + npm install -g @magicblock-labs/ephemeral-validator@<pinned-version>Share the target version and I’ll update the diff.
70-75
: Remove contradictory remote source flags.You pass both --remote-cluster development and localhost URLs. Keep one intent. If sourcing from local test validator, drop --remote-cluster.
RUST_LOG=info ephemeral-validator \ --accounts-lifecycle ephemeral \ - --remote-cluster development \ --remote-url http://127.0.0.1:8899 \ --remote-ws-url ws://127.0.0.1:8900 \ --rpc-port 7799 &
86-92
: Use websocket scheme for WS_ENDPOINT.Anchor/websocket clients require ws://, not http://.
- WS_ENDPOINT=http://localhost:8900 \ + WS_ENDPOINT=ws://localhost:8900 \
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test.yml
(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/test.yml
63-63: could not parse as YAML: did not find expected key
(syntax-check)
🪛 YAMLlint (1.37.1)
.github/workflows/test.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 78-78: syntax error: expected , but found ''
(syntax)
jobs: | ||
test-examples: | ||
runs-on: ubuntu-latest | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick | 🔵 Trivial
Optional: Add Cargo cache to speed builds.
Caching target/registry cuts CI time and bandwidth.
steps:
- uses: actions/checkout@v4
- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
🤖 Prompt for AI Agents
In .github/workflows/test.yml around lines 10 to 13 the job currently lacks
Cargo caching which slows CI; add a cache step after the checkout that uses
actions/cache@v4 to cache ~/.cargo/registry, ~/.cargo/git and target, with a key
like ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} and a restore-keys
entry ${{ runner.os }}-cargo- so subsequent runs restore the registry/git crates
and target build artifacts to speed builds and reduce bandwidth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (3)
.github/workflows/test.yml (3)
17-21
: Replace the deprecated Rust toolchain action.
actions-rs/toolchain@v1
still runs on the retired Node12 runtime, so the step fails before Rust installs. Switch to a maintained setup action (e.g.dtolnay/rust-toolchain@master
oractions/setup-rust@v1
) and request toolchain 1.82 there.
71-76
: Drop--remote-cluster
when pointing to localhost.You simultaneously pass
--remote-cluster development
and--remote-url http://127.0.0.1:8899
. The cluster flag contradicts the localhost URLs and can cause the validator to target the wrong source. Remove the--remote-cluster
argument (or swap the URLs to devnet if that was the intent) so the flags are consistent.
88-93
: Use a websocket URL forWS_ENDPOINT
.Anchor expects a websocket endpoint here.
http://localhost:8900
breaks subscription setup, causing the tests to fail. Change it tows://localhost:8900
.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test.yml
(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/test.yml
18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🪛 YAMLlint (1.37.1)
.github/workflows/test.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test-examples
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test.yml
(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/test.yml
18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🪛 YAMLlint (1.37.1)
.github/workflows/test.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test-examples
- name: Start MagicBlock Ephemeral Validator | ||
run: | | ||
# Magic voodoo to increase resource limits | ||
sudo prlimit --pid $$ --nofile=1048576:1048576 | ||
sudo sysctl fs.inotify.max_user_instances=1280 | ||
sudo sysctl fs.inotify.max_user_watches=655360 | ||
|
||
RUST_LOG=info ephemeral-validator \ | ||
--accounts-lifecycle ephemeral \ | ||
--remote-cluster development \ | ||
--remote-url http://127.0.0.1:8899 \ | ||
--remote-ws-url ws://127.0.0.1:8900 \ | ||
--rpc-port 7799 | ||
|
||
# Wait for validator to be ready | ||
timeout 20 bash -c 'until curl -s http://localhost:7799 >/dev/null 2>&1; do sleep 1; done' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Background the MagicBlock validator or run it and its wait logic in one step.
ephemeral-validator
runs in the foreground here. Because it never exits, the wait loop on Line 80 and all subsequent steps are never reached, causing the job to hang. Either background the process (and add cleanup) or launch/wait/test within a single step before the process exits.
🤖 Prompt for AI Agents
.github/workflows/test.yml around lines 65–80: the workflow starts
ephemeral-validator in the foreground so the step never completes and the
subsequent wait/steps are never executed; fix by starting the validator in the
background and managing its lifecycle in the same step: launch
ephemeral-validator in background, save its PID, run the existing readiness loop
(curl until ready), run any tests that require the validator, then kill the
background PID and wait for it to exit (or use a trap to ensure cleanup on
failure); alternatively, keep the validator in-foreground but move the readiness
check and any tests into the same step that runs the validator and exit that
step only after readiness and tests complete.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
♻️ Duplicate comments (1)
.github/workflows/test.yml (1)
3-7
: Tighten trigger syntax to satisfy yamllint.Quote the
on
key and remove the extra spaces inside the branch arrays so linting passes:-'on': - push: - branches: [main] - pull_request: - branches: [main] +on: + push: + branches: [main] + pull_request: + branches: [main]
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test.yml
(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/test.yml
18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🪛 YAMLlint (1.37.1)
.github/workflows/test.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 5-5: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
[error] 7-7: too many spaces inside brackets
(brackets)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test-examples
- name: Setup Rust | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: '1.82' | ||
override: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace the deprecated Rust setup action.
actions-rs/toolchain@v1
is stuck on the retired Node12 runtime, so this step fails before installing Rust. Switch to a maintained action (e.g., dtolnay/rust-toolchain@master
with toolchain: 1.82
) so the workflow can provision Rust successfully.
🧰 Tools
🪛 actionlint (1.7.8)
18-18: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🤖 Prompt for AI Agents
.github/workflows/test.yml around lines 17 to 21: the workflow uses the
deprecated actions-rs/toolchain@v1 which runs on a retired Node12 runtime and
fails; replace that step with a maintained action such as
dtolnay/rust-toolchain@master and set the input to toolchain: '1.82' (remove the
deprecated override flag), ensuring the step name and inputs match the new
action's expected keys so the workflow can provision Rust successfully.
RUST_LOG=info ephemeral-validator \ | ||
--accounts-lifecycle ephemeral \ | ||
--remote-cluster development \ | ||
--remote-url http://127.0.0.1:8899 \ | ||
--remote-ws-url ws://127.0.0.1:8900 \ | ||
--rpc-port 7799 & |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop the contradictory --remote-cluster development
flag.
You’re pointing ephemeral-validator
at the local Solana endpoints while simultaneously declaring the source cluster as development
. Those settings conflict and can lead to the validator syncing from the wrong source. Remove --remote-cluster development
(or swap the URLs to devnet) so the configuration is coherent.
🤖 Prompt for AI Agents
.github/workflows/test.yml around lines 72 to 77: the ephemeral-validator
invocation includes a contradictory flag --remote-cluster development while
pointing at local URLs; remove the --remote-cluster development flag (or
alternatively replace the local URLs with devnet endpoints) so the command
either targets local endpoints only or consistently targets the development
cluster, ensuring configuration coherence.
Summary by CodeRabbit