-
Notifications
You must be signed in to change notification settings - Fork 46
Moving env vars to org #233
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?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,4 @@ | ||
CARGO_TERM_COLOR=always | ||
NODE_VERSION=20.x | ||
PROGRAMS=["mpl-core"] | ||
RUST_VERSION=1.79.0 | ||
SOLANA_VERSION=1.18.19 | ||
COMMIT_USER_NAME=github-actions | ||
[email protected] | ||
DEPLOY_SOLANA_VERSION=1.18.19 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,6 +35,12 @@ jobs: | |
with: | ||
ref: ${{ inputs.git_ref }} | ||
|
||
- name: Export GitHub vars to GITHUB_ENV | ||
run: | | ||
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV | ||
echo "RUST_VERSION=${{ vars.RUST_VERSION }}" >> $GITHUB_ENV | ||
echo "SOLANA_VERSION=${{ vars.SOLANA_VERSION }}" >> $GITHUB_ENV | ||
|
||
Comment on lines
+38
to
+43
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainValidate exports order and avoid duplicates. You’ve correctly added a step to source repo-level 🏁 Script executed: #!/bin/bash
# Check if .github/.env exists and whether it defines the versions in question
if [ -f .github/.env ]; then
echo "Scanning .github/.env for version definitions..."
rg -n '^(NODE_VERSION|RUST_VERSION|SOLANA_VERSION)=' .github/.env || echo "✔ No matching definitions found in .github/.env"
else
echo "✔ .github/.env does not exist"
fi
# Verify if any workflow step later re-cats .env into GITHUB_ENV
echo "Searching workflows for any 'cat .env' usage..."
rg -n 'cat .*\.env' .github/workflows || echo "✔ No 'cat .env' steps found in workflows" Length of output: 1583 Validate exports order and avoid duplicates The
🤖 Prompt for AI Agents
|
||
- name: Load environment variables | ||
run: cat .github/.env >> $GITHUB_ENV | ||
|
||
|
@@ -70,7 +76,7 @@ jobs: | |
fi | ||
SANITIZED=${REF//\//-} | ||
echo "sanitized=$SANITIZED" >> "$GITHUB_OUTPUT" | ||
|
||
- name: Upload program builds | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,22 +39,22 @@ | |
|
||
jobs: | ||
check_tag: | ||
name: 'Check tag' | ||
name: "Check tag" | ||
runs-on: ubuntu-latest | ||
outputs: | ||
program: ${{ steps.set_program.outputs.program }} | ||
type: ${{ steps.set_program.outputs.type }} | ||
steps: | ||
- name: Check tag | ||
id: set_program | ||
run: | | ||
echo program="core" >> $GITHUB_OUTPUT | ||
if [[ "${{ inputs.git_ref }}" =~ ^release/core@* ]]; then | ||
echo type="release" >> $GITHUB_OUTPUT | ||
else | ||
echo type="ref" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Check tag | ||
id: set_program | ||
run: | | ||
echo program="core" >> $GITHUB_OUTPUT | ||
if [[ "${{ inputs.git_ref }}" =~ ^release/core@* ]]; then | ||
echo type="release" >> $GITHUB_OUTPUT | ||
else | ||
echo type="ref" >> $GITHUB_OUTPUT | ||
fi | ||
build_programs: | ||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
|
||
name: Programs | ||
uses: ./.github/workflows/build-programs.yml | ||
secrets: inherit | ||
|
@@ -109,6 +109,12 @@ | |
token: ${{ secrets.SVC_TOKEN }} | ||
ref: ${{ inputs.git_ref }} | ||
|
||
- name: Export GitHub vars to GITHUB_ENV | ||
run: | | ||
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV | ||
echo "RUST_VERSION=${{ vars.RUST_VERSION }}" >> $GITHUB_ENV | ||
echo "DEPLOY_SOLANA_VERSION=${{ vars.DEPLOY_SOLANA_VERSION }}" >> $GITHUB_ENV | ||
|
||
- name: Load environment variables | ||
run: cat .github/.env >> $GITHUB_ENV | ||
|
||
|
@@ -152,7 +158,7 @@ | |
run: | | ||
echo PROGRAM_NAME="mpl_core" >> $GITHUB_ENV | ||
echo ${{ secrets.CORE_ID }} > ./program-id.json | ||
|
||
if [[ "${{ inputs.cluster }}" == "sonic"* ]]; then | ||
echo ${{ secrets.CORE_SONIC_DEPLOY_KEY }} > ./deployer-key.json | ||
echo DEPLOY_TYPE="direct" >> $GITHUB_ENV | ||
|
@@ -172,7 +178,7 @@ | |
else | ||
echo "Invalid cluster: ${{ inputs.cluster }}" | ||
exit 1 | ||
fi | ||
fi | ||
|
||
- name: Sanitize Ref | ||
id: sanitize | ||
|
@@ -190,7 +196,7 @@ | |
if: needs.check_tag.outputs.type == 'ref' | ||
with: | ||
name: program-builds-${{ steps.sanitize.outputs.sanitized }} | ||
|
||
- name: Download release asset | ||
uses: actions/github-script@v5 | ||
id: get_release | ||
|
@@ -206,11 +212,11 @@ | |
repo: context.repo.repo, | ||
tag: tag | ||
}); | ||
|
||
if (release.status !== 200) { | ||
throw new Error(`Failed to fetch release for tag ${tag}`); | ||
} | ||
|
||
const asset = release.data.assets.find(asset => asset.name === assetName); | ||
if (!asset) { | ||
throw new Error(`Asset ${assetName} not found in release tagged ${tag}`); | ||
|
@@ -259,20 +265,19 @@ | |
rm ./submitter-key.json | ||
|
||
echo "BUFFER=$BUFFER" >> $GITHUB_ENV | ||
|
||
|
||
- name: Create Squads proposal | ||
if: github.event.inputs.dry_run == 'false' && env.DEPLOY_TYPE == 'squads' | ||
uses: metaplex-foundation/squads-program-upgrade@main | ||
with: | ||
network-url: ${{ env.RPC }} | ||
program-multisig: ${{ env.SQUADS_MULTISIG }} | ||
program-id: 'CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d' | ||
program-id: "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d" | ||
program-index: ${{ env.SQUADS_PROGRAM_INDEX }} | ||
buffer: ${{ env.BUFFER }} | ||
spill-address: 'botTxAkJhuCtNNn9xsH8fHJjzTkcN6XD4dR3R5hkzV2' | ||
spill-address: "botTxAkJhuCtNNn9xsH8fHJjzTkcN6XD4dR3R5hkzV2" | ||
authority: ${{ env.SQUADS_VAULT }} | ||
Comment on lines
+275
to
279
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) Parameterize static values; consider centralizing addresses. Using 🤖 Prompt for AI Agents
|
||
name: 'Deploy ${{ inputs.git_ref }}' | ||
name: "Deploy ${{ inputs.git_ref }}" | ||
keypair: ${{ secrets.SQUADS_BOT_KEY }} | ||
|
||
- name: Create env tag | ||
|
Original file line number | Diff line number | Diff line change | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -14,15 +14,21 @@ jobs: | |||||||||||||||
name: Detect changes | ||||||||||||||||
runs-on: ubuntu-latest | ||||||||||||||||
outputs: | ||||||||||||||||
any: ${{ steps.changes.outputs.any }} | ||||||||||||||||
programs: ${{ steps.changes.outputs.programs }} | ||||||||||||||||
any: ${{ steps.changes.outputs.any || github.actor == 'dependabot[bot]' }} | ||||||||||||||||
programs: ${{ steps.changes.outputs.programs || github.actor == 'dependabot[bot]' }} | ||||||||||||||||
program_matrix: ${{ steps.program_matrix.outputs.matrix }} | ||||||||||||||||
js_client: ${{ steps.changes.outputs.js_client }} | ||||||||||||||||
rust_client: ${{ steps.changes.outputs.rust_client }} | ||||||||||||||||
js_client: ${{ steps.changes.outputs.js_client || github.actor == 'dependabot[bot]' }} | ||||||||||||||||
rust_client: ${{ steps.changes.outputs.rust_client || github.actor == 'dependabot[bot]' }} | ||||||||||||||||
Comment on lines
+17
to
+21
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Logical error: Dependabot override never applied due to string truthiness Consider switching to a boolean comparison, for example: any: ${{ steps.changes.outputs.any == 'true' || github.actor == 'dependabot[bot]' }}
programs: ${{ steps.changes.outputs.programs == 'true' || github.actor == 'dependabot[bot]' }}
js_client: ${{ steps.changes.outputs.js_client == 'true' || github.actor == 'dependabot[bot]' }}
rust_client: ${{ steps.changes.outputs.rust_client == 'true' || github.actor == 'dependabot[bot]' }} Ensure your downstream 🤖 Prompt for AI Agents
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pinging on this @blockiosaurus if you had looked into this or can be resolved There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||||||||||||||||
steps: | ||||||||||||||||
- name: Git checkout | ||||||||||||||||
uses: actions/checkout@v4 | ||||||||||||||||
|
||||||||||||||||
- name: Export GitHub vars to GITHUB_ENV | ||||||||||||||||
run: | | ||||||||||||||||
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||
echo "RUST_VERSION=${{ vars.RUST_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||
echo "SOLANA_VERSION=${{ vars.SOLANA_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||
|
||||||||||||||||
Comment on lines
+26
to
+31
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainEnsure You’ve exported 🏁 Script executed: #!/bin/bash
echo "Checking for .github/.env file..."
if [ -f .github/.env ]; then
echo "Found .github/.env; checking for redeclaration of vars:"
grep -E '^(NODE_VERSION|RUST_VERSION|SOLANA_VERSION)=' .github/.env || echo "No NODE_VERSION, RUST_VERSION or SOLANA_VERSION lines found."
else
echo ".github/.env file not found."
fi Length of output: 336 Remove conflicting I noticed that
To fix this: • Remove or rename these entries in - name: Validate required vars
run: |
for var in NODE_VERSION RUST_VERSION SOLANA_VERSION; do
if [ -z "${{ vars[$var] }}" ]; then
echo "Error: $var is not set" >&2
exit 1
fi
done This prevents silent misconfiguration and ensures your exports aren’t inadvertently shadowed. 🤖 Prompt for AI Agents
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shadowing by setting an overriding value in the repo .env file is the intended behavior There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @blockiosaurus Got it—thanks for clarifying. I’ll keep in mind that the values in ✏️ Learnings added
|
||||||||||||||||
- name: Load environment variables | ||||||||||||||||
run: cat .github/.env >> $GITHUB_ENV | ||||||||||||||||
|
||||||||||||||||
|
@@ -65,6 +71,9 @@ jobs: | |||||||||||||||
- name: Git checkout | ||||||||||||||||
uses: actions/checkout@v4 | ||||||||||||||||
|
||||||||||||||||
- name: Export GitHub vars to GITHUB_ENV | ||||||||||||||||
run: echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||
|
||||||||||||||||
Comment on lines
+74
to
+76
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missing Rust/Solana version exports in Generate clients job - - name: Export GitHub vars to GITHUB_ENV
- run: echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV
+ - name: Export GitHub vars to GITHUB_ENV
+ run: |
+ echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV
+ echo "RUST_VERSION=${{ vars.RUST_VERSION }}" >> $GITHUB_ENV
+ echo "SOLANA_VERSION=${{ vars.SOLANA_VERSION }}" >> $GITHUB_ENV 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
|
||||||||||||||||
- name: Load environment variables | ||||||||||||||||
run: cat .github/.env >> $GITHUB_ENV | ||||||||||||||||
|
||||||||||||||||
|
Original file line number | Diff line number | Diff line change | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -57,6 +57,11 @@ jobs: | |||||||||||||
- name: Git checkout | ||||||||||||||
uses: actions/checkout@v4 | ||||||||||||||
|
||||||||||||||
- name: Export GitHub vars to GITHUB_ENV | ||||||||||||||
run: | | ||||||||||||||
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV | ||||||||||||||
echo "RUST_VERSION=${{ vars.RUST_VERSION }}" >> $GITHUB_ENV | ||||||||||||||
|
||||||||||||||
Comment on lines
+60
to
+64
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainValidate exports order and avoid overrides. This step correctly pulls #!/bin/bash
# Check for existence of .github/.env and search for NODE_VERSION and RUST_VERSION
if [ -f .github/.env ]; then
echo "Found .github/.env"
grep -n "NODE_VERSION" .github/.env || echo "NODE_VERSION not found in .github/.env"
grep -n "RUST_VERSION" .github/.env || echo "RUST_VERSION not found in .github/.env"
else
echo ".github/.env not found"
fi #!/bin/bash
# List top-level files in .github/
echo "=== .github directory contents ==="
find .github -maxdepth 1 -type f -print
# Search for any .env files in .github and project root
echo -e "\n=== .env files found ==="
find .github . -type f \( -name ".env" -o -name "*.env" \) -print
# Inspect each .env file for NODE_VERSION and RUST_VERSION
echo -e "\n=== Checking for NODE_VERSION and RUST_VERSION in .env files ==="
while IFS= read -r file; do
echo "---- $file ----"
grep -nE "NODE_VERSION|RUST_VERSION" "$file" && echo || echo "No matches in $file"
done < <(find .github . -type f \( -name ".env" -o -name "*.env" \)) 🏁 Script executed: #!/bin/bash
set -e
# Check for .github/.env overrides
echo "==> Checking .github/.env"
if [[ -f .github/.env ]]; then
echo ".github/.env found"
grep -En "^(NODE_VERSION|RUST_VERSION)=" .github/.env || echo "No NODE_VERSION or RUST_VERSION entries in .github/.env"
else
echo ".github/.env not found"
fi
# Search for other .env files in repo
echo -e "\n==> Searching for other .env files"
find . -maxdepth 2 -type f \( -name ".env" -o -name "*.env" \) | while read -r file; do
echo "Inspecting $file"
grep -En "^(NODE_VERSION|RUST_VERSION)=" "$file" || echo " No NODE_VERSION or RUST_VERSION in $file"
done Length of output: 539 Remove version overrides from The
- name: Export GitHub vars to GITHUB_ENV
run: |
for v in NODE_VERSION RUST_VERSION; do
if [ -z "${{ vars[$v] }}" ]; then
echo "ERROR: $v is undefined" >&2
exit 1
fi
done
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV
echo "RUST_VERSION=${{ vars.RUST_VERSION }}" >> $GITHUB_ENV 🤖 Prompt for AI Agents
|
||||||||||||||
- name: Load environment variables | ||||||||||||||
run: cat .github/.env >> $GITHUB_ENV | ||||||||||||||
|
||||||||||||||
|
@@ -81,8 +86,8 @@ jobs: | |||||||||||||
|
||||||||||||||
if [ "${{ inputs.dry_run }}" == "false" ]; then | ||||||||||||||
OPTIONS="--no-push --no-tag --no-confirm --execute" | ||||||||||||||
git config user.name ${{ env.COMMIT_USER_NAME }} | ||||||||||||||
git config user.email ${{ env.COMMIT_USER_EMAIL }} | ||||||||||||||
git config user.name ${{ vars.COMMIT_USER_NAME }} | ||||||||||||||
git config user.email ${{ vars.COMMIT_USER_EMAIL }} | ||||||||||||||
fi | ||||||||||||||
Comment on lines
+89
to
91
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) Quote Git config values to handle spaces. Wrap the user name/email expansions in quotes to avoid splitting on spaces: - git config user.name ${{ vars.COMMIT_USER_NAME }}
+ git config user.name "${{ vars.COMMIT_USER_NAME }}"
- git config user.email ${{ vars.COMMIT_USER_EMAIL }}
+ git config user.email "${{ vars.COMMIT_USER_EMAIL }}" 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
|
||||||||||||||
|
||||||||||||||
echo "Cargo logging in" | ||||||||||||||
|
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -15,13 +15,18 @@ jobs: | |||||||||||||||||||||||||||||||||
runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||
strategy: | ||||||||||||||||||||||||||||||||||
matrix: | ||||||||||||||||||||||||||||||||||
node: ["20.x", "22.x"] | ||||||||||||||||||||||||||||||||||
node: ["${{ vars.NEXT_VERSION }}", "${{ vars.NEXT_VERSION_NEXT }}"] | ||||||||||||||||||||||||||||||||||
steps: | ||||||||||||||||||||||||||||||||||
- name: Git checkout | ||||||||||||||||||||||||||||||||||
uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||
with: | ||||||||||||||||||||||||||||||||||
ref: ${{ inputs.git_ref }} | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
- name: Export GitHub vars to GITHUB_ENV | ||||||||||||||||||||||||||||||||||
run: | | ||||||||||||||||||||||||||||||||||
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||||||||||||||||||||
echo "SOLANA_VERSION=${{ vars.SOLANA_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
Comment on lines
+25
to
+29
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainAvoid You export 🏁 Script executed: #!/bin/bash
# Search for explicit .env usage in the workflow
rg -n ".env" -A3 .github/workflows/test-js-client.yml || echo "No .env references in test-js-client.yml"
# List any .env files in the repo root
find . -maxdepth 2 -type f -name ".env*" -print
# Check for SOLANA_VERSION in any .env files
grep -H "SOLANA_VERSION" .env* || echo "No SOLANA_VERSION definitions found in .env files" Length of output: 1255 🏁 Script executed: #!/bin/bash
# Check for SOLANA_VERSION definition in the GitHub Actions .env file
grep -n "SOLANA_VERSION" .github/.env || echo "No SOLANA_VERSION definitions found in .github/.env" Length of output: 94 Prevent The • In - name: Export GitHub vars to GITHUB_ENV
run: |
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV
- echo "SOLANA_VERSION=${{ vars.SOLANA_VERSION }}" >> $GITHUB_ENV
- name: Load environment variables
run: cat .github/.env >> $GITHUB_ENV
+ - name: Export Solana version
+ run: |
+ : "${{ vars.SOLANA_VERSION }:?vars.SOLANA_VERSION is required}"
+ echo "SOLANA_VERSION=${{ vars.SOLANA_VERSION }}" >> $GITHUB_ENV This ensures your declared 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
|
||||||||||||||||||||||||||||||||||
- name: Load environment variables | ||||||||||||||||||||||||||||||||||
run: cat .github/.env >> $GITHUB_ENV | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
|
@@ -66,6 +71,11 @@ jobs: | |||||||||||||||||||||||||||||||||
- name: Git checkout | ||||||||||||||||||||||||||||||||||
uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
- name: Export GitHub vars to GITHUB_ENV | ||||||||||||||||||||||||||||||||||
run: | | ||||||||||||||||||||||||||||||||||
echo "NODE_VERSION=${{ vars.NODE_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||||||||||||||||||||
echo "SOLANA_VERSION=${{ vars.SOLANA_VERSION }}" >> $GITHUB_ENV | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
Comment on lines
+74
to
+78
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainAvoid Same as above: you export 🏁 Script executed: #!/bin/bash
# Locate any usage of .env in the test-js-client workflow
grep -R "cat .*\.env" -n .github/workflows/test-js-client.yml
# Confirm where SOLANA_VERSION is exported
grep -R "SOLANA_VERSION" -n .github/workflows/test-js-client.yml Length of output: 425 🏁 Script executed: #!/bin/bash
# Verify if .github/.env redefines NODE_VERSION or SOLANA_VERSION
grep -En '^(NODE_VERSION|SOLANA_VERSION)=' .github/.env || echo "No redefinitions found in .env" Length of output: 82 Prevent • File: Suggested fixes:
🤖 Prompt for AI Agents
|
||||||||||||||||||||||||||||||||||
- name: Load environment variables | ||||||||||||||||||||||||||||||||||
run: cat .github/.env >> $GITHUB_ENV | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
|
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 (assertive)
Standardize exporting repository-level vars
The new “Export GitHub vars to GITHUB_ENV” step correctly surfaces
NODE_VERSION
andSOLANA_VERSION
for downstream steps. As this pattern is repeated across multiple workflows, consider extracting it into a reusable composite action or workflow call to reduce duplication and ease future updates.🤖 Prompt for AI Agents