Skip to content
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

Solana router deploy (D) #15871

Open
wants to merge 159 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
aaab52e
Adding solchains in NewEnv
yashnevatia Jan 3, 2025
f19598e
Revert "Adding solchains in NewEnv"
yashnevatia Jan 3, 2025
e4f1f05
adding sol chains to newenv
yashnevatia Jan 3, 2025
18d77d1
newEnv needs to send nil
yashnevatia Jan 3, 2025
8150d8d
adding test env setup
yashnevatia Jan 6, 2025
7a2afca
adding link token deployment and test
yashnevatia Jan 6, 2025
7da3b14
adding nil for crib sol chains
yashnevatia Jan 6, 2025
3b1e77a
Merge branch 'solana-updates' of github.com:smartcontractkit/chainlin…
yashnevatia Jan 6, 2025
1c41814
using switch case
yashnevatia Jan 7, 2025
01f39eb
Adding decimal const
yashnevatia Jan 7, 2025
3a4ae18
adding chain selectors commit
yashnevatia Jan 7, 2025
b76324d
go mod tidy
yashnevatia Jan 7, 2025
b8a9542
Merge branch 'solana-updates' of github.com:smartcontractkit/chainlin…
yashnevatia Jan 7, 2025
b36af9d
adding initial code for solana chain contracts deploy
yashnevatia Jan 7, 2025
9d87560
linting
yashnevatia Jan 7, 2025
31cde63
merging
yashnevatia Jan 7, 2025
818f7fb
adding solana state
yashnevatia Jan 7, 2025
98e3890
adding initial code for solana chain contracts deploy
yashnevatia Jan 7, 2025
7c7c36e
wip
yashnevatia Jan 7, 2025
78664bc
wip
yashnevatia Jan 7, 2025
2f98015
chain sel update
yashnevatia Jan 7, 2025
cd73657
update core/scripts go files
yashnevatia Jan 7, 2025
a4ec585
again
yashnevatia Jan 7, 2025
0a2336b
Merge remote-tracking branch 'origin/develop' into solana-updates
tt-cll Jan 7, 2025
c0f35b9
add changeset
tt-cll Jan 7, 2025
720dccb
go imports
yashnevatia Jan 8, 2025
859dd64
Merge branch 'solana-updates' of github.com:smartcontractkit/chainlin…
yashnevatia Jan 8, 2025
c08d092
go mod
yashnevatia Jan 8, 2025
d0882cd
go mod
yashnevatia Jan 8, 2025
1e55e6f
go mod tidy
yashnevatia Jan 8, 2025
8b0f261
lint
yashnevatia Jan 8, 2025
66ff0d3
Merge branch 'solana-link-deploy' of github.com:smartcontractkit/chai…
yashnevatia Jan 8, 2025
a3974dc
todo
yashnevatia Jan 8, 2025
4de2362
Merge branch 'solana-state-updates' of github.com:smartcontractkit/ch…
yashnevatia Jan 8, 2025
90b421e
deploy stuff
yashnevatia Jan 8, 2025
87c289a
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
yashnevatia Jan 8, 2025
a4b2bc6
Adding solana router deploy
yashnevatia Jan 8, 2025
074dacf
Adding
yashnevatia Jan 8, 2025
650a18a
merging
yashnevatia Jan 8, 2025
62d0e00
Merge branch 'solana-link-deploy' of github.com:smartcontractkit/chai…
yashnevatia Jan 8, 2025
7e3b169
updates
yashnevatia Jan 8, 2025
754f858
Merge branch 'solana-state-updates' of github.com:smartcontractkit/ch…
yashnevatia Jan 8, 2025
040ca48
adding stuff for tests
yashnevatia Jan 8, 2025
abb5a01
linting
yashnevatia Jan 8, 2025
e846d6f
Merge branch 'develop' into solana-link-deploy
yashnevatia Jan 9, 2025
58480cf
merging
yashnevatia Jan 9, 2025
f4c69fd
Merge branch 'solana-link-deploy' of github.com:smartcontractkit/chai…
yashnevatia Jan 9, 2025
b4a7781
linting
yashnevatia Jan 9, 2025
b325e8b
Merge branch 'solana-link-deploy' of github.com:smartcontractkit/chai…
yashnevatia Jan 9, 2025
31e8133
changing to ctf
yashnevatia Jan 9, 2025
7fcf845
bug
yashnevatia Jan 9, 2025
723cc1a
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
yashnevatia Jan 9, 2025
d8f5646
merging
yashnevatia Jan 9, 2025
f5a1e9f
Add CI Action to build Solana contracts
jlaveracll Jan 9, 2025
f96c9ac
testing stuff
jlaveracll Jan 9, 2025
9341090
continue testing
jlaveracll Jan 9, 2025
4306ba0
Update action.yml
jlaveracll Jan 9, 2025
7abd473
Update action.yml
jlaveracll Jan 9, 2025
0ff93c0
Update action.yml
jlaveracll Jan 9, 2025
e265c37
Update action.yml
jlaveracll Jan 9, 2025
4e6fbe2
Update action.yml
jlaveracll Jan 9, 2025
f4a06c9
Update action.yml
jlaveracll Jan 9, 2025
ea4ab8b
Update action.yml
jlaveracll Jan 9, 2025
0b18a74
Update action.yml
jlaveracll Jan 9, 2025
12f4c9e
deployment: memory: Generate more transmitter key types, expose in JD
archseer Jan 7, 2025
6c54711
deployment: memory: Configure nodes with solana config too
archseer Jan 7, 2025
ba38563
Use CTF to spin up the solana validator for in-memory tests
archseer Jan 7, 2025
e28b265
Use autopatchelf on solana binaries to make them usable on NixOS
archseer Jan 8, 2025
5429dc5
memory: solana: Shut down the container when test terminates
archseer Jan 9, 2025
c6a65cb
go mod tidy
archseer Jan 10, 2025
480ed0b
Use latest upstream CTF
archseer Jan 10, 2025
6483a93
Add missing import
archseer Jan 10, 2025
ea35285
make modgraph
archseer Jan 10, 2025
1b3fdd6
Use framework.DefaultNetwork()
archseer Jan 10, 2025
b11f530
merging deployment-memory-solana-2
yashnevatia Jan 10, 2025
1382873
merging solana-state-updates
yashnevatia Jan 10, 2025
bd14a29
changes
yashnevatia Jan 10, 2025
c97c9aa
tidying
yashnevatia Jan 10, 2025
dc0c1a7
ignoring keypair if not provided
yashnevatia Jan 10, 2025
18ed1b4
merging
yashnevatia Jan 10, 2025
32776f1
fix
yashnevatia Jan 10, 2025
3193928
Update action.yml
jlaveracll Jan 10, 2025
3b9dfd2
Update action.yml
jlaveracll Jan 10, 2025
6215cec
Update action.yml
jlaveracll Jan 10, 2025
150cc41
Update action.yml
jlaveracll Jan 10, 2025
23464d5
Update action.yml
jlaveracll Jan 10, 2025
2938be6
Update action.yml
jlaveracll Jan 10, 2025
c3e59fb
Merge branch 'jlavera/add-ci-action-to-build-contracts' of github.com…
jlaveracll Jan 10, 2025
0b47286
test integrating with CI build step
jlaveracll Jan 10, 2025
0116b79
test fix
jlaveracll Jan 12, 2025
84e3239
try reading program ids
jlaveracll Jan 12, 2025
3a4b939
Update action.yml
jlaveracll Jan 13, 2025
8346bd5
Update action.yml
jlaveracll Jan 13, 2025
036108a
Update action.yml
jlaveracll Jan 13, 2025
ce86b2f
Update action.yml
jlaveracll Jan 13, 2025
251077a
Update chain.go
jlaveracll Jan 13, 2025
87e326a
Update action.yml
jlaveracll Jan 13, 2025
1e4a5f4
last try
jlaveracll Jan 13, 2025
e51ecd8
Update action.yml
jlaveracll Jan 13, 2025
b7fbe7e
Update action.yml
jlaveracll Jan 13, 2025
ca3135f
make script executable
jlaveracll Jan 13, 2025
610b8a0
reverting changes to stabilize the branch
jlaveracll Jan 13, 2025
7b6077f
Create ccip_router.so
jlaveracll Jan 13, 2025
aa31afe
linting
yashnevatia Jan 13, 2025
e113603
adding build here
yashnevatia Jan 13, 2025
65c7fe4
test different strategy
jlaveracll Jan 13, 2025
170e527
another try
jlaveracll Jan 13, 2025
97eafa5
Update action.yml
jlaveracll Jan 13, 2025
ff35f21
yash fixed it!
jlaveracll Jan 13, 2025
04311ec
Update chain.go
jlaveracll Jan 13, 2025
65ebfae
Merge branch 'solana-router-deploy' of github.com:smartcontractkit/ch…
jlaveracll Jan 13, 2025
aa628ad
cleanup
jlaveracll Jan 13, 2025
1c849ef
still linting
yashnevatia Jan 14, 2025
081506a
lint
yashnevatia Jan 14, 2025
02f25db
solana tooling dev
yashnevatia Jan 14, 2025
53fdb2c
Revert "solana tooling dev"
yashnevatia Jan 14, 2025
668239a
switch strategy to local build
jlaveracll Jan 14, 2025
1e62ff3
clean up test
jlaveracll Jan 14, 2025
a04a438
cleanning up
jlaveracll Jan 14, 2025
e70cff3
fix
jlaveracll Jan 16, 2025
a543de3
try fix ci
jlaveracll Jan 16, 2025
8d9b43e
Update action.yml
jlaveracll Jan 16, 2025
f8049cd
Update action.yml
jlaveracll Jan 16, 2025
8467a76
Update action.yml
jlaveracll Jan 16, 2025
6848977
get full sha
jlaveracll Jan 16, 2025
151b2e7
:(
jlaveracll Jan 16, 2025
3149f8d
:(
jlaveracll Jan 16, 2025
e2ca7eb
Update action.yml
jlaveracll Jan 16, 2025
0bf27b1
very sad
jlaveracll Jan 16, 2025
d04ebe5
merging
yashnevatia Jan 17, 2025
4e935bf
fixing
yashnevatia Jan 17, 2025
7531d0b
cleanning up branch
jlaveracll Jan 17, 2025
1228982
Update action.yml
jlaveracll Jan 17, 2025
3c875a1
reuse build script in CI
jlaveracll Jan 17, 2025
fcd500f
typo
jlaveracll Jan 17, 2025
013c8ab
welp
jlaveracll Jan 17, 2025
f1c00b8
Delete .solana_contracts_rev
jlaveracll Jan 17, 2025
564b798
Merge pull request #15886 from smartcontractkit/jlavera/add-ci-action…
jlaveracll Jan 17, 2025
428a120
reusing script
jlaveracll Jan 17, 2025
1976644
fix
jlaveracll Jan 17, 2025
4dfdbe6
Update action.yml
jlaveracll Jan 17, 2025
ca5a44c
fix fetch
jlaveracll Jan 17, 2025
bac313e
Update action.yml
jlaveracll Jan 17, 2025
daba92c
Update action.yml
jlaveracll Jan 17, 2025
747c0a8
clean up and add comments
jlaveracll Jan 18, 2025
45926cc
Merge pull request #15970 from smartcontractkit/jlavera/add-ci-action…
jlaveracll Jan 18, 2025
d4af4fa
linting
yashnevatia Jan 19, 2025
e18976d
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
yashnevatia Jan 20, 2025
19e5482
Update solana_chain.go
jlaveracll Jan 20, 2025
97e7536
fix ci checks
jlaveracll Jan 20, 2025
d2489a9
Update ci-core-partial.yml
jlaveracll Jan 20, 2025
036bd71
test fix
jlaveracll Jan 20, 2025
00363c1
CI is difficult
jlaveracll Jan 20, 2025
d6e23db
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
jlaveracll Jan 21, 2025
32c583a
Update flakeguard.yml
jlaveracll Jan 21, 2025
0f7d94f
try a purge just for fun
tt-cll Jan 21, 2025
6fb3976
try bigger image
tt-cll Jan 21, 2025
feb1cf6
Merge remote-tracking branch 'origin/develop' into solana-router-deploy
tt-cll Jan 22, 2025
cdb48ad
revert flakeguard
tt-cll Jan 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .github/actions/setup-solana/build-contracts/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Solana build contracts
description: Build Solana contracts

runs:
using: composite
steps:
- name: Checkout chainlink-ccip
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
repository: smartcontractkit/chainlink-ccip
path: chainlink-ccip
fetch-depth: 0
- name: Checkout branch based on CCIP Revision
id: get_checkout_ccip_chains_solana_revision
shell: bash
run: |
# get the short revision of the chainlink-ccip solana contracts dependency from the go.mod file
short_revision=$(grep "github.com/smartcontractkit/chainlink-ccip/chains/solana" deployment/go.mod | awk '{print $2}' | cut -d'-' -f3)

# since the github action checkout action doesn't support short revisions, we have to do it manually
cd chainlink-ccip
git checkout $short_revision

echo "CHAINLINK_CCIP_COMMIT_SHORT=${short_revision}" >> $GITHUB_ENV
- name: Get Anchor Version
id: get_anchor_version
shell: bash
run: |
cd chainlink-ccip/chains/solana
anchor=$(make anchor_version)
echo "ANCHOR_VERSION=${anchor}" >> $GITHUB_ENV
- name: cache docker build image
id: cache-image
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
lookup-only: true
path: chains/solana/contracts/docker-build.tar
key: ${{ runner.os }}-solana-build-${{ env.ANCHOR_VERSION }}-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo target dir
id: cache-target
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
lookup-only: true
path: chains/solana/contracts/target
key: ${{ runner.os }}-solana-contract-artifacts-${{ hashFiles('**/Cargo.lock') }}
- name: build & save image
if: steps.cache-image.outputs.cache-hit != 'true'
shell: bash
run: |
cd chainlink-ccip/chains/solana/contracts
docker buildx build . -t ccip-solana:build --build-arg ANCHOR_CLI=${{ env.ANCHOR_VERSION }}
docker save -o docker-build.tar ccip-solana
- name: build & save contract compilation artifacts
if: steps.cache-target.outputs.cache-hit != 'true'
shell: bash
run: |
cd chainlink-ccip/chains/solana
docker run -v "$(pwd)/contracts":/solana/contracts ccip-solana:build bash -c "\
set -eoux pipefail &&\
RUSTUP_HOME=\"/root/.rustup\" &&\
FORCE_COLOR=1 &&\
cd /solana/contracts &&\
anchor build &&\
chmod -R 755 ./target"
- name: move built contracts to test folder
shell: bash
run: |
# copy the built contracts so they can be used in the chainlink tests
mkdir -p /home/runner/work/chainlink/chainlink/deployment/ccip/changeset/internal/solana_contracts
cp chainlink-ccip/chains/solana/contracts/target/deploy/*.so /home/runner/work/chainlink/chainlink/deployment/ccip/changeset/internal/solana_contracts

# save the revision of the built chainlink-ccip solana contracts
echo ${{ env.CHAINLINK_CCIP_COMMIT_SHORT }} > /home/runner/work/chainlink/chainlink/deployment/ccip/changeset/internal/solana_contracts/.solana_contracts_rev
9 changes: 9 additions & 0 deletions .github/workflows/ci-core-partial.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ jobs:
- name: Setup Solana
uses: ./.github/actions/setup-solana

- name: Build Solana artifacts
uses: ./.github/actions/setup-solana/build-contracts

- name: Setup wasmd
uses: ./.github/actions/setup-wasmd

Expand Down Expand Up @@ -210,6 +213,9 @@ jobs:
- name: Setup Solana
uses: ./.github/actions/setup-solana

- name: Build Solana artifacts
uses: ./.github/actions/setup-solana/build-contracts

- name: Setup wasmd
uses: ./.github/actions/setup-wasmd

Expand Down Expand Up @@ -256,6 +262,9 @@ jobs:
- name: Setup Solana
uses: ./.github/actions/setup-solana

- name: Build Solana artifacts
uses: ./.github/actions/setup-solana/build-contracts

- name: Setup wasmd
uses: ./.github/actions/setup-wasmd

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,10 @@ jobs:
if: ${{ needs.filter.outputs.should-run-ci-core == 'true' }}
uses: ./.github/actions/setup-solana

- name: Build Solana artifacts
if: ${{ needs.filter.outputs.should-run-ci-core == 'true' }}
uses: ./.github/actions/setup-solana/build-contracts

- name: Setup wasmd
if: ${{ needs.filter.outputs.should-run-ci-core == 'true' }}
uses: ./.github/actions/setup-wasmd
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/flakeguard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,8 @@ jobs:
restore-build-cache-only: "true"
- name: Setup Solana
uses: ./.github/actions/setup-solana
- name: Build Solana artifacts
uses: ./.github/actions/setup-solana/build-contracts
- name: Setup wasmd
uses: ./.github/actions/setup-wasmd
- name: Setup Postgres
Expand Down
Loading
Loading