70
70
if [[ "$GITHUB_EVENT_NAME" == pull_request ]]; then
71
71
echo version="0.0.0-test.${GITHUB_SHA:0:7}"
72
72
echo archs='["amd64"]'
73
+ echo oses='["linux"]'
73
74
exit 0
74
75
fi >> "$GITHUB_OUTPUT"
75
76
if ! [[ "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+)?(\+[0-9A-Za-z-]+)?$ ]]; then
78
79
fi
79
80
( echo version="${VERSION#v}"
80
81
echo archs='["amd64", "arm64", "arm"]'
82
+ echo oses='["linux", "windows"]'
81
83
) >> "$GITHUB_OUTPUT"
82
84
83
85
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
93
95
94
96
outputs :
95
97
archs : ${{ steps.meta.outputs.archs }}
98
+ oses : ${{ steps.meta.outputs.oses }}
96
99
version : ${{ steps.meta.outputs.version }}
97
100
package : ${{ github.event_name == 'workflow_dispatch' || steps.changed.outputs.any_changed == 'true' }}
98
101
profile : ${{ inputs.profile || 'release' }}
@@ -126,7 +129,13 @@ jobs:
126
129
strategy :
127
130
matrix :
128
131
arch : ${{ fromJson(needs.meta.outputs.archs) }}
132
+ os : ${{ fromJson(needs.meta.outputs.oses) }}
129
133
libc : [gnu] # musl
134
+ exclude :
135
+ - os : windows
136
+ arch : arm64
137
+ - os : windows
138
+ arch : arm
130
139
131
140
# If we're not actually building on a release tag, don't short-circuit on
132
141
# errors. This helps us know whether a failure is platform-specific.
@@ -138,6 +147,10 @@ jobs:
138
147
LINKERD2_PROXY_VENDOR : ${{ github.repository_owner }}
139
148
LINKERD2_PROXY_VERSION : ${{ needs.meta.outputs.version }}
140
149
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
141
154
- name : Configure git
142
155
run : git config --global --add safe.directory "$PWD" # actions/runner#2033
143
156
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
@@ -147,12 +160,12 @@ jobs:
147
160
with :
148
161
key : ${{ matrix.arch }}
149
162
- 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
153
166
- uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
154
167
with :
155
- name : ${{ matrix.arch }}-artifacts
168
+ name : ${{ matrix.arch }}-${{ matrix.os }}- artifacts
156
169
path : target/package/*
157
170
158
171
publish :
0 commit comments