Skip to content

Commit 367fd13

Browse files
committed
Combine build jobs using matrix strategy
1 parent a134262 commit 367fd13

File tree

1 file changed

+15
-27
lines changed

1 file changed

+15
-27
lines changed

.github/workflows/release.yml

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -88,31 +88,20 @@ jobs:
8888
env:
8989
DEVELOPER_DIR: /Applications/Xcode_15.0.1.app # Supports iOS 17.0 simulator selected by CocoaPods.
9090

91-
build-linux-amd64:
92-
name: Build Linux AMD64 Binary
91+
build-linux:
92+
name: Build Linux ${{ matrix.arch }} Binary
9393
needs: prepare-release
94-
runs-on: ubuntu-24.04
95-
permissions:
96-
contents: read
97-
steps:
98-
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
99-
with:
100-
ref: ${{ env.RELEASE_BRANCH }}
101-
persist-credentials: false
102-
- name: Install dependencies
103-
run: sudo apt-get install -y libcurl4-openssl-dev libxml2-dev
104-
- name: Build binary
105-
run: make --debug spm_linux_build
106-
- name: Upload binary
107-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
108-
with:
109-
name: swiftlint-linux-amd64
110-
path: .build/release/swiftlint
111-
112-
build-linux-arm64:
113-
name: Build Linux ARM64 Binary
114-
needs: prepare-release
115-
runs-on: ubuntu-24.04-arm
94+
runs-on: ${{ matrix.runner }}
95+
strategy:
96+
fail-fast: false
97+
matrix:
98+
include:
99+
- arch: AMD64
100+
runner: ubuntu-24.04
101+
artifact_name: swiftlint-linux-amd64
102+
- arch: ARM64
103+
runner: ubuntu-24.04-arm
104+
artifact_name: swiftlint-linux-arm64
116105
permissions:
117106
contents: read
118107
steps:
@@ -127,7 +116,7 @@ jobs:
127116
- name: Upload binary
128117
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
129118
with:
130-
name: swiftlint-linux-arm64
119+
name: ${{ matrix.artifact_name }}
131120
path: .build/release/swiftlint
132121

133122
build-macos:
@@ -159,8 +148,7 @@ jobs:
159148
needs:
160149
- setup-credentials
161150
- prepare-release
162-
- build-linux-amd64
163-
- build-linux-arm64
151+
- build-linux
164152
- build-macos
165153
runs-on: macOS-14
166154
permissions:

0 commit comments

Comments
 (0)