@@ -18,6 +18,85 @@ concurrency:
18
18
cancel-in-progress : true
19
19
20
20
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
21
100
musl-builds :
22
101
if : github.repository == 'CycloneDX/cdxgen'
23
102
strategy :
0 commit comments