@@ -15,30 +15,34 @@ jobs:
1515 strategy :
1616 fail-fast : true
1717 matrix :
18- os : ['ubuntu-latest ', 'macos-13 ', 'macos-15 ', 'windows-latest ']
18+ os : ['ubuntu-24.04 ', 'ubuntu-24.04-arm ', 'macos-13 ', 'macos-15 ']
1919 runs-on : ${{ matrix.os }}
2020 permissions :
2121 contents : write
2222 packages : write
2323 steps :
2424 - uses : actions/checkout@v4
25- - uses : swift-actions/setup-swift@v2
26- if : matrix.os == 'ubuntu-latest'
25+ - name : Setup swift
26+ if : matrix.os == 'ubuntu-24.04' || matrix.os == 'ubuntu-24.04-arm'
27+ run : |
28+ curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz && \
29+ tar zxf swiftly-$(uname -m).tar.gz && \
30+ ./swiftly init --quiet-shell-followup && \
31+ . ~/.local/share/swiftly/env.sh && \
32+ hash -r
33+ - name : Setup swift
34+ if : matrix.os == 'macos-15'
35+ run : |
36+ curl -O https://download.swift.org/swiftly/darwin/swiftly.pkg && \
37+ installer -pkg swiftly.pkg -target CurrentUserHomeDirectory && \
38+ ~/.swiftly/bin/swiftly init --quiet-shell-followup && \
39+ . ~/.swiftly/env.sh && \
40+ hash -r
2741 - uses : oras-project/setup-oras@v1
2842 - run : oras version
2943 - name : Build
3044 run : |
31- if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
32- bash thirdparty/sourcekitten/build.sh
33- bash packages/linux-arm64/build-linux-arm64.sh
34- bash packages/linux-arm/build-linux-arm.sh
35- bash packages/ppc64/build-ppc64.sh
36- elif [ "${{ matrix.os }}" == "windows-latest" ]; then
37- powershell ./packages/windows-amd64/build-windows-amd64.ps1
38- powershell ./packages/windows-arm64/build-windows-arm64.ps1
39- else
40- bash thirdparty/sourcekitten/build.sh
41- fi
45+ bash thirdparty/sourcekitten/build.sh
4246 ls -l thirdparty/sourcekitten/SourceKitten/.build/release
4347 echo $GITHUB_TOKEN | oras login ghcr.io -u $GITHUB_USERNAME --password-stdin
4448 env :
@@ -51,21 +55,15 @@ jobs:
5155 --artifact-type application/vnd.oras.config.v1+json \
5256 ./sourcekitten:application/vnd.cyclonedx.plugins.layer.v1+tar \
5357 ./sourcekitten.sha256:application/vnd.cyclonedx.plugins.layer.v1+tar
54- if : matrix.os == 'ubuntu-latest '
58+ if : matrix.os == 'ubuntu-24.04 '
5559 - name : Upload linux arm64
5660 run : |
57- cd packages/linux-arm64 /release/
61+ cd thirdparty/sourcekitten/SourceKitten/.build /release/
5862 oras push ghcr.io/cyclonedx/cdxgen-plugins-bin:linux-arm64 \
5963 --artifact-type application/vnd.oras.config.v1+json \
60- ./arm64-binary:application/vnd.cyclonedx.plugins.layer.v1+tar
61- if : matrix.os == 'ubuntu-latest'
62- - name : Upload linux arm
63- run : |
64- cd packages/linux-arm/release/
65- oras push ghcr.io/cyclonedx/cdxgen-plugins-bin:linux-arm \
66- --artifact-type application/vnd.oras.config.v1+json \
67- ./arm-binary:application/vnd.cyclonedx.plugins.layer.v1+tar
68- if : matrix.os == 'ubuntu-latest'
64+ ./sourcekitten:application/vnd.cyclonedx.plugins.layer.v1+tar \
65+ ./sourcekitten.sha256:application/vnd.cyclonedx.plugins.layer.v1+tar
66+ if : matrix.os == 'ubuntu-24.04-arm'
6967 - name : Upload darwin amd64
7068 run : |
7169 cd thirdparty/sourcekitten/SourceKitten/.build/release/
8280 ./sourcekitten:application/vnd.cyclonedx.plugins.layer.v1+tar \
8381 ./sourcekitten.sha256:application/vnd.cyclonedx.plugins.layer.v1+tar
8482 if : matrix.os == 'macos-15'
85- - name : Upload windows amd64
86- run : |
87- cd packages/windows-amd64/release/
88- oras push ghcr.io/cyclonedx/cdxgen-plugins-bin:windows-amd64 \
89- --artifact-type application/vnd.oras.config.v1+json \
90- ./windows-binary:application/vnd.cyclonedx.plugins.layer.v1+tar
91- if : matrix.os == 'windows-latest'
92- - name : Upload windows arm64
93- run : |
94- cd packages/windows-arm64/release/
95- oras push ghcr.io/cyclonedx/cdxgen-plugins-bin:windows-arm64 \
96- --artifact-type application/vnd.oras.config.v1+json \
97- ./windows-arm64-binary:application/vnd.cyclonedx.plugins.layer.v1+tar
98- if : matrix.os == 'windows-latest'
99- - name : Upload ppc64
100- run : |
101- cd packages/ppc64/release/
102- oras push ghcr.io/cyclonedx/cdxgen-plugins-bin:ppc64 \
103- --artifact-type application/vnd.oras.config.v1+json \
104- ./ppc64-binary:application/vnd.cyclonedx.plugins.layer.v1+tar
105- if : matrix.os == 'ubuntu-latest'
0 commit comments