Skip to content

Commit 1baa73b

Browse files
authored
Merge pull request #4227 from headlamp-k8s/add_embed_build_workflow
ci:build: Add workflow for embedded backend binary
2 parents b3b39c5 + 7b2454f commit 1baa73b

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Build and upload embedded binaries
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
buildBranch:
7+
description: 'Headlamp ref/branch/tag'
8+
required: true
9+
default: 'main'
10+
version:
11+
description: 'Version for the binaries (defaults to app/package.json version)'
12+
required: false
13+
default: ''
14+
15+
permissions:
16+
contents: read
17+
18+
jobs:
19+
build-embedded:
20+
permissions:
21+
actions: write # needed to upload artifacts
22+
contents: read
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
26+
with:
27+
ref: ${{ github.event.inputs.buildBranch }}
28+
- name: Setup nodejs
29+
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
30+
with:
31+
node-version: 20.x
32+
cache: 'npm'
33+
cache-dependency-path: |
34+
frontend/package-lock.json
35+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
36+
with:
37+
go-version: '1.24.*'
38+
cache-dependency-path: |
39+
backend/go.sum
40+
- name: Get version
41+
id: get-version
42+
run: |
43+
if [ -n "${{ github.event.inputs.version }}" ]; then
44+
VERSION="${{ github.event.inputs.version }}"
45+
else
46+
VERSION=$(node -p "require('./app/package.json').version")
47+
fi
48+
echo "version=$VERSION" >> $GITHUB_OUTPUT
49+
echo "Building embedded binaries with version: $VERSION"
50+
- name: Build frontend
51+
run: |
52+
make frontend
53+
- name: Prepare backend for embedding
54+
run: |
55+
make backend-embed-prepare
56+
- name: Build embedded binaries
57+
run: |
58+
make backend-embed-all-compressed VERSION=${{ steps.get-version.outputs.version }}
59+
- name: Upload embedded binaries
60+
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
61+
with:
62+
name: embedded-binaries
63+
path: ./backend/dist/*.tar.gz
64+
if-no-files-found: error
65+
retention-days: 2
66+

0 commit comments

Comments
 (0)