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
8385uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 
9395
9496outputs :
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