Skip to content

Commit ed2a00c

Browse files
Merge pull request solana-developers#33 from solana-developers/valentinmadrid-cicd
Add functioning cicd which runs on the 1st every month
2 parents 32dc874 + be78f8b commit ed2a00c

File tree

3 files changed

+118
-129
lines changed

3 files changed

+118
-129
lines changed

.github/workflows/anchor.yml

+45-46
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,52 @@
1-
name: Anchor Programs
1+
name: Anchor Build
22

33
on:
4-
push:
5-
branches: ["main"]
6-
pull_request:
7-
branches: ["main"]
8-
9-
env:
10-
CARGO_TERM_COLOR: always
4+
schedule:
5+
- cron: '0 0 1 * *'
116

127
jobs:
138
build:
14-
name: Build
15-
container:
16-
image: solanadevelopers/solana-workshop-image-anchor:0.0.1
17-
strategy:
18-
matrix:
19-
{
20-
dir:
21-
[
22-
"basics/account-data/anchor",
23-
"basics/checking-accounts/anchor",
24-
"basics/close-account/anchor",
25-
"basics/counter/anchor",
26-
"basics/create-account/anchor",
27-
"basics/cross-program-invocation/anchor",
28-
"basics/hello-solana/anchor",
29-
"basics/pda-rent-payer/anchor",
30-
"basics/processing-instructions/anchor",
31-
"basics/program-derived-addresses/anchor",
32-
"basics/realloc/anchor",
33-
"basics/rent/anchor",
34-
"basics/repository-layout/anchor",
35-
"basics/transfer-sol/anchor",
36-
"compression/cnft-vault/anchor",
37-
"oracles/pyth/anchor",
38-
"tokens/create-token/anchor",
39-
"tokens/nft-minter/anchor",
40-
"tokens/pda-mint-authority/anchor",
41-
"tokens/spl-token-minter/anchor",
42-
"tokens/token-2022/basics/anchor",
43-
"tokens/transfer-tokens/anchor",
44-
],
45-
}
9+
runs-on: ubuntu-latest
4610

4711
steps:
48-
- name: Checkout code
49-
uses: actions/checkout@v3
50-
51-
- name: Build program
52-
working-directory: ${{ matrix.dir }}
53-
run: anchor build
12+
- uses: actions/checkout@v2
13+
14+
- name: Install dependencies
15+
run: |
16+
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
17+
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
18+
solana -V
19+
rustc -V
20+
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-config build-essential libudev-dev libssl-dev
21+
cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
22+
avm install latest
23+
avm use latest
24+
declare -a StringArray=(
25+
"basics/checking-accounts/anchor"
26+
"basics/close-account/anchor"
27+
"basics/counter/anchor"
28+
"basics/create-account/anchor"
29+
"basics/hello-solana/anchor"
30+
"basics/pda-rent-payer/anchor"
31+
"basics/processing-instructions/anchor"
32+
"basics/program-derived-addresses/anchor"
33+
"basics/rent/anchor"
34+
"basics/repository-layout/anchor"
35+
"basics/transfer-sol/anchor"
36+
"compression/cnft-vault/anchor"
37+
"oracles/pyth/anchor"
38+
"tokens/create-token/anchor"
39+
"tokens/nft-minter/anchor"
40+
"tokens/pda-mint-authority/anchor"
41+
"tokens/spl-token-minter/anchor"
42+
"tokens/token-2022/basics/anchor"
43+
"tokens/transfer-tokens/anchor"
44+
"basics/account-data/anchor"
45+
)
46+
for val in "${StringArray[@]}"; do
47+
echo "Building $val..."
48+
cd $val
49+
anchor build
50+
cd - > /dev/null
51+
done
52+
shell: bash

.github/workflows/native.yml

+44-52
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,52 @@
1-
name: Native Programs
1+
name: Native Build
22

33
on:
4-
push:
5-
branches: ["main"]
6-
pull_request:
7-
branches: ["main"]
8-
9-
env:
10-
CARGO_TERM_COLOR: always
4+
schedule:
5+
- cron: '0 0 1 * *'
116

127
jobs:
138
build:
14-
name: Build
159
runs-on: ubuntu-latest
16-
container:
17-
image: docker.io/solanadevelopers/solana-workshop-image:0.0.2
18-
credentials:
19-
username: solanadevelopers
20-
password: ${{ secrets.DOCKER_CONTAINER_REGISTRY_TOKEN }}
21-
strategy:
22-
matrix:
23-
{
24-
dir:
25-
[
26-
"basics/account-data/native/program",
27-
"basics/checking-accounts/native/program",
28-
"basics/close-account/native/program",
29-
"basics/counter/native",
30-
"basics/create-account/native/program",
31-
"basics/cross-program-invocation/native/program",
32-
"basics/hello-solana/native/program",
33-
"basics/pda-rent-payer/native/program",
34-
"basics/processing-instructions/native/program",
35-
"basics/program-derived-addresses/native/program",
36-
"basics/realloc/native/program",
37-
"basics/rent/native/program",
38-
"basics/repository-layout/native/program",
39-
"basics/transfer-sol/native/program",
40-
"tokens/create-token/native/program",
41-
"tokens/nft-minter/native/program",
42-
"tokens/pda-mint-authority/native/program",
43-
"tokens/spl-token-minter/native/program",
44-
"tokens/token-2022/default-account-state/native/program",
45-
"tokens/token-2022/mint-close-authority/native/program",
46-
"tokens/token-2022/multiple-extensions/native/program",
47-
"tokens/token-2022/non-transferable/native/program",
48-
"tokens/token-2022/transfer-fees/native/program",
49-
"tokens/transfer-tokens/native/program",
50-
"tools/shank-and-solita/native/program",
51-
],
52-
}
5310

5411
steps:
55-
- name: Checkout code
56-
uses: actions/checkout@v3
57-
58-
- name: Build program
59-
working-directory: ${{ matrix.dir }}
60-
run: cargo build-sbf --verbose
12+
- uses: actions/checkout@v2
13+
14+
- name: Install dependencies
15+
run: |
16+
sh -c "$(curl -sSfL https://release.solana.com/beta/install)"
17+
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
18+
solana -V
19+
rustc -V
20+
declare -a StringArray=(
21+
"basics/account-data/native/program"
22+
"basics/checking-accounts/native/program"
23+
"basics/close-account/native/program"
24+
"basics/counter/native"
25+
"basics/create-account/native/program"
26+
"basics/hello-solana/native/program"
27+
"basics/pda-rent-payer/native/program"
28+
"basics/processing-instructions/native/program"
29+
"basics/program-derived-addresses/native/program"
30+
"basics/realloc/native/program"
31+
"basics/rent/native/program"
32+
"basics/repository-layout/native/program"
33+
"basics/transfer-sol/native/program"
34+
"tokens/nft-minter/native/program"
35+
"tokens/pda-mint-authority/native/program"
36+
"tokens/spl-token-minter/native/program"
37+
"tokens/token-2022/default-account-state/native/program"
38+
"tokens/token-2022/mint-close-authority/native/program"
39+
"tokens/token-2022/multiple-extensions/native/program"
40+
"tokens/token-2022/non-transferable/native/program"
41+
"tokens/token-2022/transfer-fees/native/program"
42+
"tokens/transfer-tokens/native/program"
43+
"tools/shank-and-solita/native/program"
44+
"tokens/create-token/native/program"
45+
)
46+
for val in "${StringArray[@]}"; do
47+
echo "Building $val..."
48+
cd $val
49+
cargo-build-sbf --verbose
50+
cd - > /dev/null
51+
done
52+
shell: bash

.github/workflows/seahorse.yml

+29-31
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,37 @@
1-
name: Seahorse Programs
1+
name: Seahorse Build
22

33
on:
4-
push:
5-
branches: ["main"]
6-
pull_request:
7-
branches: ["main"]
8-
9-
env:
10-
CARGO_TERM_COLOR: always
4+
schedule:
5+
- cron: '0 0 1 * *'
116

127
jobs:
138
build:
14-
name: Build
159
runs-on: ubuntu-latest
16-
container:
17-
image: docker.io/solanadevelopers/solana-workshop-image-seahorse
18-
credentials:
19-
username: solanadevelopers
20-
password: ${{ secrets.DOCKER_CONTAINER_REGISTRY_TOKEN }}
21-
strategy:
22-
matrix:
23-
{
24-
dir:
25-
[
26-
"basics/counter/seahorse",
27-
"basics/hello-solana/seahorse",
28-
"basics/transfer-sol/seahorse",
29-
"oracles/pyth/seahorse",
30-
],
31-
}
3210

3311
steps:
34-
- name: Checkout code
35-
uses: actions/checkout@v3
36-
37-
- name: Build program
38-
working-directory: ${{ matrix.dir }}
39-
run: cargo build-sbf --verbose
12+
- uses: actions/checkout@v2
13+
14+
- name: Install dependencies
15+
run: |
16+
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
17+
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
18+
solana -V
19+
rustc -V
20+
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-config build-essential libudev-dev libssl-dev
21+
cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
22+
avm install 0.27.0
23+
avm use 0.27.0
24+
cargo install seahorse-lang
25+
declare -a StringArray=(
26+
"basics/counter/seahorse"
27+
"basics/hello-solana/seahorse"
28+
"basics/transfer-sol/seahorse"
29+
"oracles/pyth/seahorse"
30+
)
31+
for val in "${StringArray[@]}"; do
32+
echo "Building $val..."
33+
cd $val
34+
seahorse build
35+
cd - > /dev/null
36+
done
37+
shell: bash

0 commit comments

Comments
 (0)