Skip to content

Commit 59d588f

Browse files
committed
Download Gel servers once
Credit: Sonnet 4
1 parent b7953f4 commit 59d588f

File tree

1 file changed

+63
-6
lines changed

1 file changed

+63
-6
lines changed

.github/workflows/new-tests.yml

Lines changed: 63 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,42 @@ jobs:
6767
RUSTFLAGS="-C target-feature=+crt-static" cargo build --target=x86_64-unknown-linux-gnu
6868
cp target/x86_64-unknown-linux-gnu/debug/gel target/debug/gel
6969
70+
- name: Pre-install the latest gel + nightly
71+
run: |
72+
target/debug/gel server install
73+
target/debug/gel server install --nightly
74+
75+
- name: Package gel servers
76+
run: |
77+
installed_json=$(target/debug/gel* server list-versions --installed-only --json)
78+
echo "$installed_json" | jq '.'
79+
80+
mkdir -p gel-servers
81+
echo "$installed_json" | jq -r '.[].["debug-info"].install.path' | while read -r server_path; do
82+
if [ -d "$server_path" ]; then
83+
echo "Packaging server from: $server_path"
84+
server_name=$(basename "$server_path")
85+
tar -czf "gel-servers/${server_name}.tar.gz" -C "$(dirname "$server_path")" "$server_name"
86+
fi
87+
done
88+
89+
echo "$installed_json" > gel-servers/installed-versions.json
90+
ls -la gel-servers/
91+
7092
- name: Upload artifacts (gel)
7193
uses: actions/upload-artifact@v4
7294
with:
7395
name: debug-gel-cli-${{ runner.os }}
7496
path: target/debug/gel*
7597
if-no-files-found: error
7698

99+
- name: Upload artifacts (gel servers)
100+
uses: actions/upload-artifact@v4
101+
with:
102+
name: gel-servers-${{ runner.os }}
103+
path: gel-servers/
104+
if-no-files-found: error
105+
77106
generate-matrix:
78107
runs-on: ubuntu-latest
79108
outputs:
@@ -123,7 +152,7 @@ jobs:
123152
- name: Download artifacts
124153
uses: actions/download-artifact@v4
125154
with:
126-
pattern: debug-*
155+
pattern: "*-${{ runner.os }}"
127156
path: artifacts
128157

129158
- name: List artifacts
@@ -135,6 +164,37 @@ jobs:
135164
run: |
136165
cp artifacts/debug-gel-cli-${{ runner.os }}/gel* ${{ env.CARGO_HOME }}/bin/
137166
167+
- name: Restore gel servers
168+
run: |
169+
if [ -d "artifacts/gel-servers-${{ runner.os }}" ]; then
170+
cd artifacts/gel-servers-${{ runner.os }}
171+
172+
if [ -f "installed-versions.json" ]; then
173+
echo "Restoring gel servers from JSON paths:"
174+
cat installed-versions.json | jq -r '.[].version'
175+
176+
cat installed-versions.json | jq -r '.[].["debug-info"].install.path' | while read -r server_path; do
177+
if [ -n "$server_path" ]; then
178+
server_name=$(basename "$server_path")
179+
tar_file="${server_name}.tar.gz"
180+
181+
if [ -f "$tar_file" ]; then
182+
echo "Restoring $server_name to original path: $server_path"
183+
mkdir -p "$(dirname "$server_path")"
184+
tar -xzf "$tar_file" -C "$(dirname "$server_path")"
185+
else
186+
echo "Warning: tar file $tar_file not found"
187+
fi
188+
fi
189+
done
190+
else
191+
echo "Warning: installed-versions.json not found"
192+
fi
193+
else
194+
echo "Warning: gel-servers artifacts not found for ${{ runner.os }}"
195+
fi
196+
shell: bash
197+
138198
- name: Setup WSL
139199
if: runner.os == 'Windows'
140200
shell: bash
@@ -156,11 +216,8 @@ jobs:
156216
run: |
157217
echo "gel: $(gel --version)"
158218
echo "clitest: $(clitest --version)"
159-
160-
- name: Pre-install the latest gel + nightly
161-
run: |
162-
gel server install
163-
gel server install --nightly
219+
echo "Available gel servers:"
220+
gel server list-versions --installed-only
164221
165222
- name: Run CLI test
166223
run: |

0 commit comments

Comments
 (0)