-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathaction.yml
56 lines (55 loc) · 2.19 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: 'Setup Solana'
description: 'Install the Solana Tool Suite.'
branding:
icon: cpu
color: purple
inputs:
solana-cli-version:
description: 'Version of Solana CLI to use'
required: false
default: 'stable'
runs:
using: 'composite'
steps:
- name: Determine Solana CLI version
id: solana-release
run: |
chmod +x scripts/channel-info.sh
output=$("scripts/channel-info.sh")
read -r BETA_CHANNEL_LATEST_TAG STABLE_CHANNEL_LATEST_TAG <<< "$output"
if [[ "${{ inputs.solana-cli-version }}" =~ ^[a-zA-Z] ]]; then
if [[ ${{ inputs.solana-cli-version }} =~ ^(edge|stable|beta)$ ]]; then
if [[ ${{ inputs.solana-cli-version }} == "edge" ]]; then
echo "Using Solana CLI edge channel"
echo "install_version=edge" >> $GITHUB_OUTPUT
elif [[ ${{ inputs.solana-cli-version }} == "stable" ]]; then
echo "Using Solana CLI stable channel $install_version"
echo "install_version=$STABLE_CHANNEL_LATEST_TAG" >> $GITHUB_OUTPUT
elif [[ ${{ inputs.solana-cli-version }} == "beta" ]]; then
echo "Using Solana CLI beta channel"
echo "install_version=$BETA_CHANNEL_LATEST_TAG" >> $GITHUB_OUTPUT
fi
else
echo "Invalid Solana CLI channel: ${{ inputs.solana-cli-version }}"
exit 1
fi
else
echo "Using Solana CLI ${{ inputs.solana-cli-version }}"
echo "install_version=v${{ inputs.solana-cli-version }}" >> $GITHUB_OUTPUT
fi
shell: bash
- name: Cache Solana CLI tools
uses: actions/cache@v3
if: steps.solana-release.outputs.install_version != 'edge'
with:
path: |
~/.cache/solana/
~/.local/share/solana/
key: solana-cli-${{ runner.os }}-build-${{ steps.solana-release.outputs.install_version }}
- name: Install Solana CLI tools
run: |
sh -c "$(curl -sSfL https://release.solana.com/${{ steps.solana-release.outputs.install_version }}/install)"
shell: bash
- name: Update PATH
run: echo "/home/runner/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
shell: bash