@@ -15,30 +15,34 @@ jobs:
15
15
strategy :
16
16
fail-fast : true
17
17
matrix :
18
- os : ['ubuntu-latest ', 'macos-13 ', 'macos-15 ', 'windows-latest ']
18
+ os : ['ubuntu-24.04 ', 'ubuntu-24.04-arm ', 'macos-13 ', 'macos-15 ']
19
19
runs-on : ${{ matrix.os }}
20
20
permissions :
21
21
contents : write
22
22
packages : write
23
23
steps :
24
24
- 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
27
41
- uses : oras-project/setup-oras@v1
28
42
- run : oras version
29
43
- name : Build
30
44
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
42
46
ls -l thirdparty/sourcekitten/SourceKitten/.build/release
43
47
echo $GITHUB_TOKEN | oras login ghcr.io -u $GITHUB_USERNAME --password-stdin
44
48
env :
@@ -51,21 +55,15 @@ jobs:
51
55
--artifact-type application/vnd.oras.config.v1+json \
52
56
./sourcekitten:application/vnd.cyclonedx.plugins.layer.v1+tar \
53
57
./sourcekitten.sha256:application/vnd.cyclonedx.plugins.layer.v1+tar
54
- if : matrix.os == 'ubuntu-latest '
58
+ if : matrix.os == 'ubuntu-24.04 '
55
59
- name : Upload linux arm64
56
60
run : |
57
- cd packages/linux-arm64 /release/
61
+ cd thirdparty/sourcekitten/SourceKitten/.build /release/
58
62
oras push ghcr.io/cyclonedx/cdxgen-plugins-bin:linux-arm64 \
59
63
--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'
69
67
- name : Upload darwin amd64
70
68
run : |
71
69
cd thirdparty/sourcekitten/SourceKitten/.build/release/
82
80
./sourcekitten:application/vnd.cyclonedx.plugins.layer.v1+tar \
83
81
./sourcekitten.sha256:application/vnd.cyclonedx.plugins.layer.v1+tar
84
82
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