Skip to content

Commit 2509d1e

Browse files
committed
Install just via curl instead of extractions/setup-just
Replaces the unverified third-party extractions/setup-just action with a run step that downloads the prebuilt just binary from its GitHub release. This repo is public and cannot consume the private EasyPost/ep-actions composite action, and there is no verified-publisher action for just. Resolves the latest release tag via the github.com redirect (avoids api.github.com rate limits on shared runner IPs), downloads the correct asset per RUNNER_OS (Linux/macOS/Windows), extracts into $RUNNER_TEMP, and adds it to $GITHUB_PATH so later steps in any shell can find it.
1 parent ac2a732 commit 2509d1e

2 files changed

Lines changed: 147 additions & 7 deletions

File tree

.github/workflows/ci.yml

Lines changed: 126 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,27 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@v6
15-
- uses: extractions/setup-just@v3
15+
- name: Install just
16+
shell: bash
17+
run: |
18+
set -euo pipefail
19+
install_dir="${RUNNER_TEMP:-/tmp}/just-bin"
20+
mkdir -p "$install_dir"
21+
# Resolve the latest release tag via the github.com redirect to avoid
22+
# api.github.com rate limits on shared runner egress IPs.
23+
latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest)
24+
just_version="${latest_url##*/tag/}"
25+
case "$RUNNER_OS" in
26+
Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;;
27+
macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;;
28+
*) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;;
29+
esac
30+
curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset"
31+
case "$asset" in
32+
*.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;;
33+
*) tar -xzf "$install_dir/$asset" -C "$install_dir" ;;
34+
esac
35+
echo "$install_dir" >> "$GITHUB_PATH"
1636
- uses: actions/setup-node@v6
1737
with:
1838
node-version: 24
@@ -26,7 +46,27 @@ jobs:
2646
node-version: [16.x, 17.x, 18.x, 19.x, 20.x, 21.x, 22.x, 23.x, 24.x, 25.x]
2747
steps:
2848
- uses: actions/checkout@v6
29-
- uses: extractions/setup-just@v3
49+
- name: Install just
50+
shell: bash
51+
run: |
52+
set -euo pipefail
53+
install_dir="${RUNNER_TEMP:-/tmp}/just-bin"
54+
mkdir -p "$install_dir"
55+
# Resolve the latest release tag via the github.com redirect to avoid
56+
# api.github.com rate limits on shared runner egress IPs.
57+
latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest)
58+
just_version="${latest_url##*/tag/}"
59+
case "$RUNNER_OS" in
60+
Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;;
61+
macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;;
62+
*) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;;
63+
esac
64+
curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset"
65+
case "$asset" in
66+
*.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;;
67+
*) tar -xzf "$install_dir/$asset" -C "$install_dir" ;;
68+
esac
69+
echo "$install_dir" >> "$GITHUB_PATH"
3070
- uses: actions/setup-node@v6
3171
with:
3272
node-version: 24
@@ -40,7 +80,27 @@ jobs:
4080
runs-on: ubuntu-latest
4181
steps:
4282
- uses: actions/checkout@v6
43-
- uses: extractions/setup-just@v3
83+
- name: Install just
84+
shell: bash
85+
run: |
86+
set -euo pipefail
87+
install_dir="${RUNNER_TEMP:-/tmp}/just-bin"
88+
mkdir -p "$install_dir"
89+
# Resolve the latest release tag via the github.com redirect to avoid
90+
# api.github.com rate limits on shared runner egress IPs.
91+
latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest)
92+
just_version="${latest_url##*/tag/}"
93+
case "$RUNNER_OS" in
94+
Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;;
95+
macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;;
96+
*) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;;
97+
esac
98+
curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset"
99+
case "$asset" in
100+
*.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;;
101+
*) tar -xzf "$install_dir/$asset" -C "$install_dir" ;;
102+
esac
103+
echo "$install_dir" >> "$GITHUB_PATH"
44104
- uses: actions/setup-node@v6
45105
with:
46106
node-version: 24
@@ -53,7 +113,27 @@ jobs:
53113
runs-on: ubuntu-latest
54114
steps:
55115
- uses: actions/checkout@v6
56-
- uses: extractions/setup-just@v3
116+
- name: Install just
117+
shell: bash
118+
run: |
119+
set -euo pipefail
120+
install_dir="${RUNNER_TEMP:-/tmp}/just-bin"
121+
mkdir -p "$install_dir"
122+
# Resolve the latest release tag via the github.com redirect to avoid
123+
# api.github.com rate limits on shared runner egress IPs.
124+
latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest)
125+
just_version="${latest_url##*/tag/}"
126+
case "$RUNNER_OS" in
127+
Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;;
128+
macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;;
129+
*) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;;
130+
esac
131+
curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset"
132+
case "$asset" in
133+
*.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;;
134+
*) tar -xzf "$install_dir/$asset" -C "$install_dir" ;;
135+
esac
136+
echo "$install_dir" >> "$GITHUB_PATH"
57137
- uses: actions/setup-node@v6
58138
with:
59139
node-version: 24
@@ -62,7 +142,27 @@ jobs:
62142
runs-on: ubuntu-latest
63143
steps:
64144
- uses: actions/checkout@v6
65-
- uses: extractions/setup-just@v3
145+
- name: Install just
146+
shell: bash
147+
run: |
148+
set -euo pipefail
149+
install_dir="${RUNNER_TEMP:-/tmp}/just-bin"
150+
mkdir -p "$install_dir"
151+
# Resolve the latest release tag via the github.com redirect to avoid
152+
# api.github.com rate limits on shared runner egress IPs.
153+
latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest)
154+
just_version="${latest_url##*/tag/}"
155+
case "$RUNNER_OS" in
156+
Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;;
157+
macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;;
158+
*) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;;
159+
esac
160+
curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset"
161+
case "$asset" in
162+
*.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;;
163+
*) tar -xzf "$install_dir/$asset" -C "$install_dir" ;;
164+
esac
165+
echo "$install_dir" >> "$GITHUB_PATH"
66166
- uses: actions/setup-node@v6
67167
with:
68168
node-version: 24
@@ -78,7 +178,27 @@ jobs:
78178
runs-on: ubuntu-latest
79179
steps:
80180
- uses: actions/checkout@v6
81-
- uses: extractions/setup-just@v3
181+
- name: Install just
182+
shell: bash
183+
run: |
184+
set -euo pipefail
185+
install_dir="${RUNNER_TEMP:-/tmp}/just-bin"
186+
mkdir -p "$install_dir"
187+
# Resolve the latest release tag via the github.com redirect to avoid
188+
# api.github.com rate limits on shared runner egress IPs.
189+
latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest)
190+
just_version="${latest_url##*/tag/}"
191+
case "$RUNNER_OS" in
192+
Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;;
193+
macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;;
194+
*) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;;
195+
esac
196+
curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset"
197+
case "$asset" in
198+
*.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;;
199+
*) tar -xzf "$install_dir/$asset" -C "$install_dir" ;;
200+
esac
201+
echo "$install_dir" >> "$GITHUB_PATH"
82202
- uses: actions/setup-node@v6
83203
with:
84204
node-version: 24

.github/workflows/release.yml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,27 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v6
13-
- uses: extractions/setup-just@v3
13+
- name: Install just
14+
shell: bash
15+
run: |
16+
set -euo pipefail
17+
install_dir="${RUNNER_TEMP:-/tmp}/just-bin"
18+
mkdir -p "$install_dir"
19+
# Resolve the latest release tag via the github.com redirect to avoid
20+
# api.github.com rate limits on shared runner egress IPs.
21+
latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest)
22+
just_version="${latest_url##*/tag/}"
23+
case "$RUNNER_OS" in
24+
Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;;
25+
macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;;
26+
*) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;;
27+
esac
28+
curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset"
29+
case "$asset" in
30+
*.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;;
31+
*) tar -xzf "$install_dir/$asset" -C "$install_dir" ;;
32+
esac
33+
echo "$install_dir" >> "$GITHUB_PATH"
1434
- uses: actions/setup-node@v6
1535
with:
1636
node-version: 24

0 commit comments

Comments
 (0)