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
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
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