Skip to content

Commit 5a7d6f6

Browse files
committed
Update workflows
1 parent 17765a7 commit 5a7d6f6

File tree

2 files changed

+12
-194
lines changed

2 files changed

+12
-194
lines changed

.github/workflows/buildService.yml

Lines changed: 5 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: Build Service
2+
23
on:
34
workflow_dispatch:
45
pull_request:
@@ -9,123 +10,7 @@ on:
910
branches: ['main', 'master', 'update/040']
1011

1112
jobs:
12-
Build_aarch64:
13-
name: Build S9PK (aarch64)
14-
runs-on: ubuntu-24.04-arm
15-
steps:
16-
- name: Prepare StartOS SDK
17-
uses: k0gen/sdk@v3-optimization
18-
19-
- name: Checkout services repository
20-
uses: actions/checkout@v4
21-
with:
22-
submodules: recursive
23-
24-
- name: Build aarch64 package
25-
id: build
26-
shell: bash
27-
run: |
28-
start-cli init-key
29-
chmod 600 ~/.startos/developer.key.pem
30-
RUST_LOG=debug RUST_BACKTRACE=1 make aarch64
31-
32-
PACKAGE_FILE=$(ls *_aarch64.s9pk 2>/dev/null | head -n1)
33-
if [ -z "$PACKAGE_FILE" ]; then
34-
echo "❌ No aarch64 package found!"
35-
ls -la *.s9pk || echo "No .s9pk files found"
36-
exit 1
37-
fi
38-
39-
PACKAGE_ID=$(start-cli s9pk inspect "$PACKAGE_FILE" manifest | jq -r '.id')
40-
echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
41-
echo "package_file=${PACKAGE_FILE}" >> $GITHUB_ENV
42-
printf "\n aarch64 SHA256: $(sha256sum "${PACKAGE_FILE}") \n"
43-
44-
- name: Upload aarch64 .s9pk
45-
uses: actions/upload-artifact@v4
46-
with:
47-
name: ${{ env.package_file }}
48-
path: ./${{ env.package_file }}
49-
50-
Build_x86_64:
51-
name: Build S9PK (x86_64)
52-
runs-on: ubuntu-24.04
53-
steps:
54-
- name: Prepare StartOS SDK
55-
uses: k0gen/sdk@v3-optimization
56-
57-
- name: Checkout services repository
58-
uses: actions/checkout@v4
59-
with:
60-
submodules: recursive
61-
62-
- name: Build x86_64 package
63-
id: build
64-
shell: bash
65-
run: |
66-
start-cli init-key
67-
chmod 600 ~/.startos/developer.key.pem
68-
RUST_LOG=debug RUST_BACKTRACE=1 make x86
69-
70-
PACKAGE_FILE=$(ls *_x86_64.s9pk 2>/dev/null | head -n1)
71-
if [ -z "$PACKAGE_FILE" ]; then
72-
echo "❌ No x86_64 package found!"
73-
ls -la *.s9pk || echo "No .s9pk files found"
74-
exit 1
75-
fi
76-
77-
PACKAGE_ID=$(start-cli s9pk inspect "$PACKAGE_FILE" manifest | jq -r '.id')
78-
echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
79-
echo "package_file=${PACKAGE_FILE}" >> $GITHUB_ENV
80-
printf "\n x86_64 SHA256: $(sha256sum "${PACKAGE_FILE}") \n"
81-
82-
- name: Upload x86_64 .s9pk
83-
uses: actions/upload-artifact@v4
84-
with:
85-
name: ${{ env.package_file }}
86-
path: ./${{ env.package_file }}
87-
88-
BuildUniversal:
89-
name: Build S9PK (Universal)
90-
runs-on: ubuntu-24.04
91-
needs: [Build_aarch64, Build_x86_64]
92-
steps:
93-
- name: Prepare StartOS SDK
94-
uses: k0gen/sdk@v3-optimization
95-
96-
- name: Checkout services repository
97-
uses: actions/checkout@v4
98-
with:
99-
submodules: recursive
100-
101-
- name: Build Universal package
102-
id: build
103-
shell: bash
104-
run: |
105-
start-cli init-key
106-
chmod 600 ~/.startos/developer.key.pem
107-
RUST_LOG=debug RUST_BACKTRACE=1 make
108-
109-
# Prefer a non-arch-suffixed universal package if present
110-
PACKAGE_FILE=$(ls *.s9pk 2>/dev/null | grep -Ev '_(aarch64|x86_64)\.s9pk$' | head -n1)
111-
if [ -z "$PACKAGE_FILE" ]; then
112-
# Fallback: if packaging already renames to id.s9pk only, just take the first .s9pk
113-
PACKAGE_FILE=$(ls *.s9pk 2>/dev/null | head -n1)
114-
fi
115-
116-
if [ -z "$PACKAGE_FILE" ]; then
117-
echo "❌ No universal package found!"
118-
ls -la *.s9pk || echo "No .s9pk files found"
119-
exit 1
120-
fi
121-
122-
PACKAGE_ID=$(start-cli s9pk inspect "$PACKAGE_FILE" manifest | jq -r '.id')
123-
echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
124-
echo "package_file=${PACKAGE_FILE}" >> $GITHUB_ENV
125-
printf "\n ⚡ Universal SHA256: $(sha256sum "${PACKAGE_FILE}") \n"
126-
127-
- name: Upload Universal .s9pk
128-
uses: actions/upload-artifact@v4
129-
with:
130-
name: ${{ env.package_file }}
131-
path: ./${{ env.package_file }}
13+
build:
14+
uses: start9labs/shared-workflows/.github/workflows/buildService.yml@master
15+
secrets:
16+
DEV_KEY: ${{ secrets.DEV_KEY }}

.github/workflows/releaseService.yml

Lines changed: 7 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -6,78 +6,11 @@ on:
66
- 'v*.*'
77

88
jobs:
9-
ReleasePackage:
10-
runs-on: ubuntu-latest
9+
release:
10+
uses: start9labs/shared-workflows/.github/workflows/releaseService.yml@master
11+
with:
12+
REGISTRY: ${{ vars.REGISTRY }} # Optional. Defaults to https://alpha-registry-x.start9.com
13+
secrets:
14+
DEV_KEY: ${{ secrets.DEV_KEY }} # Required
1115
permissions:
12-
contents: write
13-
steps:
14-
- name: Prepare StartOS SDK
15-
uses: start9labs/sdk@v2
16-
17-
- name: Checkout services repository
18-
uses: actions/checkout@v5
19-
with:
20-
submodules: recursive
21-
22-
- name: Build the service package
23-
id: build
24-
env:
25-
S9DEVKEY: ${{ secrets.S9DEVKEY }}
26-
run: |
27-
start-cli init-key
28-
if [[ -n "$S9DEVKEY" ]]; then
29-
echo "Using developer key from secrets to sign the package."
30-
printf '%s' "$S9DEVKEY" > ~/.startos/developer.key.pem
31-
else
32-
echo "Using newly generated developer key to sign the package."
33-
fi
34-
RUST_LOG=debug RUST_BACKTRACE=1 make
35-
sleep 2
36-
MANIFEST_JSON=$(start-cli s9pk inspect *.s9pk manifest)
37-
PACKAGE_ID=$(echo "$MANIFEST_JSON" | jq -r '.id')
38-
PACKAGE_TITLE=$(echo "$MANIFEST_JSON" | jq -r '.title')
39-
echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
40-
echo "package_title=${PACKAGE_TITLE}" >> $GITHUB_ENV
41-
printf "\n SHA256SUM: $(sha256sum ${PACKAGE_ID}.s9pk) \n"
42-
shell: bash
43-
44-
- name: Generate sha256 checksum
45-
run: |
46-
sha256sum ${{ env.package_id }}.s9pk > ${{ env.package_id }}.s9pk.sha256
47-
shell: bash
48-
49-
- name: Generate changelog
50-
run: |
51-
echo "## What's Changed" > change-log.txt
52-
echo "" >> change-log.txt
53-
RELEASE_NOTES=$(start-cli s9pk inspect *.s9pk manifest | jq -r '.releaseNotes')
54-
echo "${RELEASE_NOTES}" >> change-log.txt
55-
echo "## SHA256 Hash" >> change-log.txt
56-
echo '```' >> change-log.txt
57-
sha256sum ${{ env.package_id }}.s9pk >> change-log.txt
58-
echo '```' >> change-log.txt
59-
shell: bash
60-
61-
- name: Create GitHub Release
62-
uses: softprops/action-gh-release@v2
63-
with:
64-
tag_name: ${{ github.ref_name }}
65-
name: ${{ env.package_title }} ${{ github.ref_name }}
66-
prerelease: true
67-
body_path: change-log.txt
68-
files: |
69-
./${{ env.package_id }}.s9pk
70-
./${{ env.package_id }}.s9pk.sha256
71-
72-
- name: Publish to Registry
73-
env:
74-
S9DEVKEY: ${{ secrets.S9DEVKEY }}
75-
S9REGISTRY: ${{ secrets.S9REGISTRY }}
76-
run: |
77-
if [[ -z "$S9DEVKEY" || -z "$S9REGISTRY" ]]; then
78-
echo "Publish skipped: One or both of S9DEVKEY and S9REGISTRY secrets are not set."
79-
else
80-
echo "Publishing package to registry..."
81-
start-cli --registry https://$S9REGISTRY registry package add ${{ env.package_id }}.s9pk ${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.ref_name }}/${{ env.package_id }}.s9pk
82-
fi
83-
shell: bash
16+
contents: write

0 commit comments

Comments
 (0)