Skip to content

Commit a961efc

Browse files
authored
chore(ci): add windows release target to relase matrix (#3771)
This PR adds os param to our package job in the release workflow. This allows us to build and release Windows artifacts. Signed-off-by: Zahari Dichev <zaharidichev@gmail.com>
1 parent 04d86a0 commit a961efc

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

.github/workflows/release.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ jobs:
7070
if [[ "$GITHUB_EVENT_NAME" == pull_request ]]; then
7171
echo version="0.0.0-test.${GITHUB_SHA:0:7}"
7272
echo archs='["amd64"]'
73+
echo oses='["linux"]'
7374
exit 0
7475
fi >> "$GITHUB_OUTPUT"
7576
if ! [[ "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+)?(\+[0-9A-Za-z-]+)?$ ]]; then
@@ -78,6 +79,7 @@ jobs:
7879
fi
7980
( echo version="${VERSION#v}"
8081
echo archs='["amd64", "arm64", "arm"]'
82+
echo oses='["linux", "windows"]'
8183
) >> "$GITHUB_OUTPUT"
8284
8385
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
@@ -93,6 +95,7 @@ jobs:
9395
9496
outputs:
9597
archs: ${{ steps.meta.outputs.archs }}
98+
oses: ${{ steps.meta.outputs.oses }}
9699
version: ${{ steps.meta.outputs.version }}
97100
package: ${{ github.event_name == 'workflow_dispatch' || steps.changed.outputs.any_changed == 'true' }}
98101
profile: ${{ inputs.profile || 'release' }}
@@ -126,7 +129,13 @@ jobs:
126129
strategy:
127130
matrix:
128131
arch: ${{ fromJson(needs.meta.outputs.archs) }}
132+
os: ${{ fromJson(needs.meta.outputs.oses) }}
129133
libc: [gnu] # musl
134+
exclude:
135+
- os: windows
136+
arch: arm64
137+
- os: windows
138+
arch: arm
130139

131140
# If we're not actually building on a release tag, don't short-circuit on
132141
# errors. This helps us know whether a failure is platform-specific.
@@ -138,6 +147,10 @@ jobs:
138147
LINKERD2_PROXY_VENDOR: ${{ github.repository_owner }}
139148
LINKERD2_PROXY_VERSION: ${{ needs.meta.outputs.version }}
140149
steps:
150+
# TODO: add to dev image
151+
- name: Install MiniGW
152+
if: matrix.os == 'windows'
153+
run: apt-get update && apt-get install mingw-w64 -y
141154
- name: Configure git
142155
run: git config --global --add safe.directory "$PWD" # actions/runner#2033
143156
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
@@ -147,12 +160,12 @@ jobs:
147160
with:
148161
key: ${{ matrix.arch }}
149162
- run: just fetch
150-
- run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} rustup
151-
- run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} profile=${{ needs.meta.outputs.profile }} build
152-
- run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} profile=${{ needs.meta.outputs.profile }} package
163+
- run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} os=${{ matrix.os }} rustup
164+
- run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} os=${{ matrix.os }} profile=${{ needs.meta.outputs.profile }} build
165+
- run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} os=${{ matrix.os }} profile=${{ needs.meta.outputs.profile }} package
153166
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
154167
with:
155-
name: ${{ matrix.arch }}-artifacts
168+
name: ${{ matrix.arch }}-${{ matrix.os }}-artifacts
156169
path: target/package/*
157170

158171
publish:

0 commit comments

Comments
 (0)