@@ -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