16
16
runs-on : windows-2022
17
17
outputs :
18
18
version : ${{ steps.version.outputs.version }}
19
+ strategy :
20
+ matrix :
21
+ goarch : [ amd64, arm64 ]
19
22
steps :
20
23
- name : Configure pagefile
21
24
uses : al-cheb/configure-pagefile-action@v1.4
72
75
uses : actions/cache/restore@v4
73
76
id : cache-llvm-build
74
77
with :
75
- key : llvm-build-19-windows-v1
78
+ key : llvm-build-19-windows-${{ matrix.goarch }}- v1
76
79
path : llvm-build
77
80
- name : Build LLVM
78
81
if : steps.cache-llvm-build.outputs.cache-hit != 'true'
94
97
- name : Cache Go cache
95
98
uses : actions/cache@v4
96
99
with :
97
- key : go-cache-windows-v1-${{ hashFiles('go.mod') }}
100
+ key : go-cache-windows-${{ matrix.goarch }}- v1-${{ hashFiles('go.mod') }}
98
101
path : |
99
102
C:/Users/runneradmin/AppData/Local/go-build
100
103
C:/Users/runneradmin/go/pkg/mod
@@ -105,14 +108,15 @@ jobs:
105
108
run : make -j3 gen-device
106
109
- name : Test TinyGo
107
110
shell : bash
111
+ if : matrix.goarch == 'amd64' # skip on ARM64 to speed up build
108
112
run : make test GOTESTFLAGS="-only-current-os"
109
113
- name : Build TinyGo release tarball
110
114
shell : bash
111
115
run : make build/release -j4
112
116
- name : Make release artifact
113
117
shell : bash
114
118
working-directory : build/release
115
- run : 7z -tzip a tinygo${{ steps.version.outputs.version }}.windows-amd64 .zip tinygo
119
+ run : 7z -tzip a tinygo${{ steps.version.outputs.version }}.windows-${{ matrix.goarch }} .zip tinygo
116
120
- name : Publish release artifact
117
121
# Note: this release artifact is double-zipped, see:
118
122
# https://github.com/actions/upload-artifact/issues/39
@@ -122,8 +126,8 @@ jobs:
122
126
# We're doing the former here, to keep artifact uploads fast.
123
127
uses : actions/upload-artifact@v4
124
128
with :
125
- name : windows-amd64 -double-zipped-${{ steps.version.outputs.version }}
126
- path : build/release/tinygo${{ steps.version.outputs.version }}.windows-amd64 .zip
129
+ name : windows-${{ matrix.goarch }} -double-zipped-${{ steps.version.outputs.version }}
130
+ path : build/release/tinygo${{ steps.version.outputs.version }}.windows-${{ matrix.goarch }} .zip
127
131
128
132
smoke-test-windows :
129
133
runs-on : windows-2022
0 commit comments