@@ -13,14 +13,27 @@ jobs:
1313 name : Build S9PK (aarch64)
1414 runs-on : ubuntu-24.04-arm
1515 steps :
16- - name : Prepare StartOS SDK
17- uses : k0gen/sdk@v3-optimization
18-
1916 - name : Checkout services repository
2017 uses : actions/checkout@v4
2118 with :
2219 submodules : recursive
2320
21+ - name : Cache StartOS SDK (ARM)
22+ id : sdk-cache
23+ uses : actions/cache@v4
24+ with :
25+ path : |
26+ ~/.local/share/startos
27+ ~/.cache/startos
28+ ~/.local/bin/start-cli
29+ key : ${{ runner.os }}-${{ runner.arch }}-k0gen-sdk-v3-${{ hashFiles('**/manifest.y*ml', '**/Makefile') }}
30+ restore-keys : |
31+ ${{ runner.os }}-${{ runner.arch }}-k0gen-sdk-v3-
32+
33+ - name : Prepare StartOS SDK
34+ if : steps.sdk-cache.outputs.cache-hit != 'true'
35+ uses : k0gen/sdk@v3-optimization
36+
2437 - name : Build aarch64 package
2538 id : build
2639 shell : bash
5669 with :
5770 submodules : recursive
5871
59- - name : Cache StartOS SDK
72+ - name : Cache StartOS SDK (x86_64)
6073 id : sdk-cache
6174 uses : actions/cache@v4
6275 with :
@@ -79,60 +92,24 @@ jobs:
7992 start-cli init
8093 chmod 600 ~/.startos/developer.key.pem
8194 RUST_LOG=debug RUST_BACKTRACE=1 make x86
82- PACKAGE_FILE=$(ls *_x86_64.s9pk 2>/dev/null | head -n1)
83- if [ -z "$PACKAGE_FILE" ]; then
84- echo "❌ No x86_64 package found!"
85- ls -la *.s9pk || echo "No .s9pk files found"
86- exit 1
87- fi
88- PACKAGE_ID=$(start-cli s9pk inspect "$PACKAGE_FILE" manifest | jq -r '.id')
89- echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
90- echo "package_file=${PACKAGE_FILE}" >> $GITHUB_ENV
91- printf "\n x86_64 SHA256: $(sha256sum "${PACKAGE_FILE}") \n"
92- name : Build S9PK (x86_64)
93- runs-on : ubuntu-24.04
94- steps :
95- - name : Checkout services repository
96- uses : actions/checkout@v4
97- with :
98- submodules : recursive
9995
100- - name : Cache StartOS SDK
101- id : sdk-cache
102- uses : actions/cache@v4
103- with :
104- path : |
105- ~/.cache/startos
106- ~/.local/share/startos
107- ~/.local/bin/start-cli
108- key : ${{ runner.os }}-${{ runner.arch }}-k0gen-sdk-v3-optimization-${{ hashFiles('**/manifest.y*ml', '**/Makefile') }}
109- restore-keys : |
110- ${{ runner.os }}-${{ runner.arch }}-k0gen-sdk-v3-optimization-
111-
112- - name : Prepare StartOS SDK
113- if : steps.sdk-cache.outputs.cache-hit != 'true'
114- uses : k0gen/sdk@v3-optimization
115-
116- - name : Build x86_64 package
117- id : build
118- shell : bash
119- run : |
120- start-cli init
121- chmod 600 ~/.startos/developer.key.pem
122- RUST_LOG=debug RUST_BACKTRACE=1 make x86
12396 PACKAGE_FILE=$(ls *_x86_64.s9pk 2>/dev/null | head -n1)
12497 if [ -z "$PACKAGE_FILE" ]; then
12598 echo "❌ No x86_64 package found!"
12699 ls -la *.s9pk || echo "No .s9pk files found"
127100 exit 1
128101 fi
102+
129103 PACKAGE_ID=$(start-cli s9pk inspect "$PACKAGE_FILE" manifest | jq -r '.id')
130104 echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
131105 echo "package_file=${PACKAGE_FILE}" >> $GITHUB_ENV
132106 printf "\n x86_64 SHA256: $(sha256sum "${PACKAGE_FILE}") \n"
133107
134-
135-
108+ - name : Upload x86_64 .s9pk
109+ uses : actions/upload-artifact@v4
110+ with :
111+ name : ${{ env.package_file }}
112+ path : ./${{ env.package_file }}
136113
137114 BuildUniversal :
138115 name : Build S9PK (Universal)
@@ -144,7 +121,7 @@ jobs:
144121 with :
145122 submodules : recursive
146123
147- - name : Cache StartOS SDK
124+ - name : Cache StartOS SDK (x86_64)
148125 id : sdk-cache
149126 uses : actions/cache@v4
150127 with :
@@ -167,62 +144,18 @@ jobs:
167144 start-cli init
168145 chmod 600 ~/.startos/developer.key.pem
169146 RUST_LOG=debug RUST_BACKTRACE=1 make
170- PACKAGE_FILE=$(ls *.s9pk 2>/dev/null | grep -Ev '_(aarch64|x86_64)\.s9pk$' | head -n1)
171- if [ -z "$PACKAGE_FILE" ]; then
172- PACKAGE_FILE=$(ls *.s9pk 2>/dev/null | head -n1)
173- fi
174- if [ -z "$PACKAGE_FILE" ]; then
175- echo "❌ No universal package found!"
176- ls -la *.s9pk || echo "No .s9pk files found"
177- exit 1
178- fi
179- PACKAGE_ID=$(start-cli s9pk inspect "$PACKAGE_FILE" manifest | jq -r '.id')
180- echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
181- echo "package_file=${PACKAGE_FILE}" >> $GITHUB_ENV
182- printf "\n ⚡ Universal SHA256: $(sha256sum "${PACKAGE_FILE}") \n"
183147
184- name : Build S9PK (Universal)
185- runs-on : ubuntu-24.04
186- needs : [Build_aarch64, Build_x86_64]
187- steps :
188- - name : Checkout services repository
189- uses : actions/checkout@v4
190- with :
191- submodules : recursive
192-
193- - name : Cache StartOS SDK
194- id : sdk-cache
195- uses : actions/cache@v4
196- with :
197- path : |
198- ~/.cache/startos
199- ~/.local/share/startos
200- ~/.local/bin/start-cli
201- key : ${{ runner.os }}-${{ runner.arch }}-k0gen-sdk-v3-optimization-${{ hashFiles('**/manifest.y*ml', '**/Makefile') }}
202- restore-keys : |
203- ${{ runner.os }}-${{ runner.arch }}-k0gen-sdk-v3-optimization-
204-
205- - name : Prepare StartOS SDK
206- if : steps.sdk-cache.outputs.cache-hit != 'true'
207- uses : k0gen/sdk@v3-optimization
208-
209- - name : Build Universal package
210- id : build
211- shell : bash
212- run : |
213- start-cli init
214- chmod 600 ~/.startos/developer.key.pem
215- RUST_LOG=debug RUST_BACKTRACE=1 make
148+ # Prefer a non-arch-suffixed universal package if present
216149 PACKAGE_FILE=$(ls *.s9pk 2>/dev/null | grep -Ev '_(aarch64|x86_64)\.s9pk$' | head -n1)
217150 if [ -z "$PACKAGE_FILE" ]; then
218151 PACKAGE_FILE=$(ls *.s9pk 2>/dev/null | head -n1)
219152 fi
153+
220154 if [ -z "$PACKAGE_FILE" ]; then
221155 echo "❌ No universal package found!"
222156 ls -la *.s9pk || echo "No .s9pk files found"
223157 exit 1
224158 fi
159+
225160 PACKAGE_ID=$(start-cli s9pk inspect "$PACKAGE_FILE" manifest | jq -r '.id')
226- echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
227- echo "package_file=${PACKAGE_FILE}" >> $GITHUB_ENV
228- printf "\n ⚡ Universal SHA256: $(sha256sum "${PACKAGE_FILE}") \n"
161+ echo "package_id
0 commit comments