Skip to content

Commit

Permalink
Add CI Action to build Solana contracts
Browse files Browse the repository at this point in the history
  • Loading branch information
jlaveracll committed Jan 9, 2025
1 parent 8c65527 commit f5a1e9f
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
52 changes: 52 additions & 0 deletions .github/actions/setup-solana/build-contracts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Solana build contracts
description: Build Solana contracts

defaults:
run:
working-directory: ./chains/solana

runs:
using: composite
steps:
- name: Checkout chainlink-ccip
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
repository: chainlink/chainlink-ccip
path: chainlink-ccip
# token: ${{ steps.token.outputs.access-token }}
- name: Get Anchor Version
id: get_anchor_version
run: |
cd chainlink-ccip
anchor=$(make anchor_version)
echo "anchor=${anchor}" >>$GITHUB_OUTPUT
- 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-${{ get_anchor_version.outputs.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'
run: |
cd contracts
docker buildx build . -t ccip-solana:build --build-arg ANCHOR_CLI=${{ get_anchor_version.outputs.anchor_version }}
docker save -o docker-build.tar ccip-solana
- name: build & save contract compilation artifacts
if: steps.cache-target.outputs.cache-hit != 'true'
run: |
docker run -v "$(pwd)/":/solana ccip-solana:build bash -c "\
set -eoux pipefail &&\
RUSTUP_HOME=\"/root/.rustup\" &&\
FORCE_COLOR=1 &&\
cd /solana/contracts &&\
anchor build &&\
chmod -R 755 ./target"
4 changes: 4 additions & 0 deletions .github/workflows/ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,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.yml

- name: Setup wasmd
if: ${{ needs.filter.outputs.should-run-ci-core == 'true' }}
uses: ./.github/actions/setup-wasmd
Expand Down

0 comments on commit f5a1e9f

Please sign in to comment.