Skip to content

Commit 9763ab0

Browse files
authored
musl arm64 builds (#1869)
Signed-off-by: Prabhu Subramanian <[email protected]>
1 parent 8a5b822 commit 9763ab0

File tree

2 files changed

+81
-2
lines changed

2 files changed

+81
-2
lines changed

.github/workflows/binary-builds.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,85 @@ concurrency:
1818
cancel-in-progress: true
1919

2020
jobs:
21+
musl-builds-arm64:
22+
if: github.repository == 'CycloneDX/cdxgen'
23+
strategy:
24+
fail-fast: false
25+
matrix:
26+
os: [ 'ubuntu-22.04-arm' ]
27+
include:
28+
- os: ubuntu-22.04-arm
29+
build: |
30+
rm -rf ci contrib tools_config
31+
pnpm --package=@appthreat/caxa dlx caxa --input . --output "cdxgen" -- "{{caxa}}/node_modules/.bin/node" "{{caxa}}/bin/cdxgen.js"
32+
chmod +x cdxgen
33+
./cdxgen --help
34+
sha256sum cdxgen > cdxgen.sha256
35+
rm -rf node_modules
36+
pnpm install --config.strict-dep-builds=true --virtual-store-dir node_modules/pnpm --no-optional --prod --package-import-method copy --frozen-lockfile
37+
pnpm --package=@appthreat/caxa dlx caxa --input . --output "cdxgen-slim" -- "{{caxa}}/node_modules/.bin/node" "{{caxa}}/bin/cdxgen.js"
38+
chmod +x cdxgen-slim
39+
./cdxgen-slim --version
40+
sha256sum cdxgen-slim > cdxgen-slim.sha256
41+
pnpm --package=@appthreat/caxa dlx caxa --input . --output "cdx-verify" -- "{{caxa}}/node_modules/.bin/node" "{{caxa}}/bin/verify.js"
42+
chmod +x cdx-verify
43+
./cdx-verify --version
44+
sha256sum cdx-verify > cdx-verify.sha256
45+
./cdxgen --help
46+
./cdxgen-slim --help
47+
./cdx-verify --help
48+
mv cdxgen cdxgen-musl-arm64
49+
mv cdxgen.sha256 cdxgen-musl-arm64.sha256
50+
mv cdxgen-slim cdxgen-musl-arm64-slim
51+
mv cdxgen-slim.sha256 cdxgen-musl-arm64-slim.sha256
52+
mv cdx-verify cdx-musl-arm64-verify
53+
mv cdx-verify.sha256 cdx-musl-arm64-verify.sha256
54+
artifact: cdxgen-musl-arm64
55+
sartifact: cdxgen-musl-arm64-slim
56+
vartifact: cdx-musl-arm64-verify
57+
runs-on: ${{ matrix.os }}
58+
container:
59+
image: alpine:3.20
60+
permissions:
61+
contents: write
62+
packages: write
63+
steps:
64+
- name: Setup alpine builder
65+
run: |
66+
apk add --no-cache nodejs make python3 python3-dev py3-pip py3-virtualenv gcc g++ musl-dev npm git
67+
- name: Clone repo
68+
env:
69+
REPO_URL: https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
70+
REF: ${{ github.ref }}
71+
run: |
72+
if [[ "$REF" == refs/heads/* ]]; then
73+
REF_NAME="${REF#refs/heads/}"
74+
else
75+
REF_NAME="$REF"
76+
fi
77+
echo "Cloning ${REF} as ${REF_NAME}"
78+
git clone --depth=1 --branch "$REF_NAME" "$REPO_URL" .
79+
ls -lh
80+
- name: Install pnpm
81+
run: |
82+
npm install --global [email protected]
83+
pnpm install --config.strict-dep-builds=true --virtual-store-dir node_modules/pnpm --prod --package-import-method copy --frozen-lockfile
84+
- name: Produce sae
85+
run: |
86+
${{ matrix.build }}
87+
env:
88+
CDXGEN_DEBUG_MODE: debug
89+
- name: Release
90+
uses: softprops/action-gh-release@v2
91+
if: startsWith(github.ref, 'refs/tags/')
92+
with:
93+
files: |
94+
${{ matrix.artifact }}
95+
${{ matrix.artifact }}.sha256
96+
${{ matrix.sartifact }}
97+
${{ matrix.sartifact }}.sha256
98+
${{ matrix.vartifact }}
99+
${{ matrix.vartifact }}.sha256
21100
musl-builds:
22101
if: github.repository == 'CycloneDX/cdxgen'
23102
strategy:

ci/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ghcr.io/cyclonedx/cdxgen-ruby-builder:master as base
1+
FROM ghcr.io/cyclonedx/cdxgen-ruby-builder:master AS base
22

33
ARG SWIFT_SIGNING_KEY=52BB7E3DE28A71BE22EC05FFEF80A866B47A981F
44
ARG SWIFT_PLATFORM=ubi9
@@ -134,7 +134,7 @@ RUN set -e; \
134134
&& gem --version \
135135
&& bundler --version
136136

137-
FROM base as cdxgen
137+
FROM base AS cdxgen
138138

139139
LABEL maintainer="cyclonedx" \
140140
org.opencontainers.image.authors="Prabhu Subramanian <[email protected]>" \

0 commit comments

Comments
 (0)