File tree Expand file tree Collapse file tree 4 files changed +54
-14
lines changed Expand file tree Collapse file tree 4 files changed +54
-14
lines changed Original file line number Diff line number Diff line change 8
8
9
9
jobs :
10
10
plugin_test :
11
- name : asdf plugin test
11
+ name : Test ${{ matrix.os }}
12
12
strategy :
13
13
matrix :
14
14
os :
15
15
- ubuntu-latest
16
16
- macos-latest
17
17
runs-on : ${{ matrix.os }}
18
18
steps :
19
- - name : asdf_plugin_test
20
- uses : asdf-vm/actions/plugin-test@v2
19
+ - name : Test latest
20
+ uses : asdf-vm/actions/plugin-test@v3
21
21
with :
22
22
command : snforge --version && sncast --version
23
+
24
+ - name : Test latest nightly
25
+ uses : asdf-vm/actions/plugin-test@v3
26
+ with :
27
+ version : latest:nightly
28
+ command : snforge --version | grep "nightly" && sncast --version | grep "nightly"
29
+
30
+ - name : Test nightly-2025-06-18
31
+ uses : asdf-vm/actions/plugin-test@v3
32
+ with :
33
+ version : nightly-2025-06-18
34
+ command : snforge --version | grep "snforge 0.45.0+nightly-2025-06-18" && sncast --version | grep "sncast 0.45.0+nightly-2025-06-18"
Original file line number Diff line number Diff line change @@ -41,6 +41,18 @@ Install specific version:
41
41
asdf install starknet-foundry 0.8.2
42
42
```
43
43
44
+ Install latest nightly version:
45
+
46
+ ``` shell
47
+ asdf install starknet-foundry latest:nightly
48
+ ```
49
+
50
+ Install specific nightly version:
51
+
52
+ ``` shell
53
+ asdf install starknet-foundry nightly-2025-06-18
54
+ ```
55
+
44
56
Set a version globally (in your ` ~/.tool-versions ` file):
45
57
46
58
``` shell
Original file line number Diff line number Diff line change @@ -14,16 +14,20 @@ if [ -n "${GITHUB_API_TOKEN:-}" ]; then
14
14
curl_opts=(" ${curl_opts[@]} " -H " Authorization: token $GITHUB_API_TOKEN " )
15
15
fi
16
16
17
- # curl of REPO/releases/latest is expected to be a 302 to another URL
18
- # when no releases redirect_url="REPO/releases"
19
- # when there are releases redirect_url="REPO/releases/tag/v<VERSION>"
20
- redirect_url=$( curl " ${curl_opts[@]} " " $GH_REPO /releases/latest" | sed -n -e " s|^location: *||p" | sed -n -e " s|\r||p" )
21
- version=
22
- printf " redirect url: %s\n" " $redirect_url " >&2
23
- if [[ " $redirect_url " == " $GH_REPO /releases" ]]; then
24
- version=" $( list_all_versions | sort_versions | tail -n1 | xargs echo) "
17
+ if grep -q " nightly" <<< " $1" ; then
18
+ version=" $( get_latest_nightly) "
25
19
else
26
- version=" $( printf " %s\n" " $redirect_url " | sed ' s|.*/tag/v\{0,1\}||' ) "
20
+ # curl of REPO/releases/latest is expected to be a 302 to another URL
21
+ # when no releases redirect_url="REPO/releases"
22
+ # when there are releases redirect_url="REPO/releases/tag/v<VERSION>"
23
+ redirect_url=$( curl " ${curl_opts[@]} " " $GH_REPO /releases/latest" | sed -n -e " s|^location: *||p" | sed -n -e " s|\r||p" )
24
+ version=
25
+ printf " redirect url: %s\n" " $redirect_url " >&2
26
+ if [[ " $redirect_url " == " $GH_REPO /releases" ]]; then
27
+ version=" $( list_all_versions | sort_versions | tail -n1 | xargs echo) "
28
+ else
29
+ version=" $( printf " %s\n" " $redirect_url " | sed ' s|.*/tag/v\{0,1\}||' ) "
30
+ fi
27
31
fi
28
32
29
33
printf " %s\n" " $version "
Original file line number Diff line number Diff line change 3
3
set -euo pipefail
4
4
5
5
GH_REPO=" https://github.com/foundry-rs/starknet-foundry"
6
+ GH_NIGHTLIES_REPO=" https://github.com/software-mansion-labs/starknet-foundry-nightlies"
6
7
TOOL_NAME=" starknet-foundry"
7
8
TOOL_TEST=" snforge --version && sncast --version"
8
9
@@ -37,6 +38,12 @@ download_universal_sierra_compiler() {
37
38
curl -L https://raw.githubusercontent.com/software-mansion/universal-sierra-compiler/master/scripts/install.sh | sh
38
39
}
39
40
41
+ get_latest_nightly () {
42
+ git ls-remote --tags --refs " $GH_NIGHTLIES_REPO " |
43
+ grep -o ' refs/tags/.*' | cut -d/ -f3- |
44
+ sort_versions | tail -n1 | xargs echo
45
+ }
46
+
40
47
download_release () {
41
48
local version filename url
42
49
version=" $1 "
@@ -47,8 +54,13 @@ download_release() {
47
54
48
55
local repository tag
49
56
50
- repository=$GH_REPO
51
- tag=" v$version "
57
+ if grep -q -E " nightly" <<< " $version" ; then
58
+ repository=$GH_NIGHTLIES_REPO
59
+ tag=$version
60
+ else
61
+ repository=$GH_REPO
62
+ tag=" v$version "
63
+ fi
52
64
53
65
local _tarball=" starknet-foundry-${tag} -${_arch} .tar.gz"
54
66
url=" ${repository} /releases/download/${tag} /${_tarball} "
You can’t perform that action at this time.
0 commit comments