4747 PLATFORM_NAME : ${{ matrix.job.platform }}
4848 TARGET : ${{ matrix.job.target }}
4949 ARCH : ${{ matrix.job.arch }}
50- CARGO_PROFILE : performance
5150 strategy :
5251 matrix :
5352 job :
7372 platform : darwin
7473 target : aarch64-apple-darwin
7574 arch : arm64
75+ - os : windows-latest
76+ platform : win32
77+ target : x86_64-pc-windows-msvc
78+ arch : amd64
7679
7780 steps :
7881 - uses : actions/checkout@v4
@@ -85,32 +88,10 @@ jobs:
8588 cache-on-failure : true
8689 cache-key : ${{ matrix.job.target }}
8790
88- - uses : oven-sh /setup-bun @v2
91+ - uses : arduino /setup-protoc @v2
8992 with :
90- bun-version : latest
91-
92- - name : Install LLVM dependencies for Linux
93- if : ${{ matrix.job.platform == 'linux' }}
94- run : |
95- wget https://apt.llvm.org/llvm.sh
96- chmod +x llvm.sh
97- sudo ./llvm.sh 19
98- sudo apt-get update -y
99- sudo apt-get install -y g++ llvm-19 llvm-19-dev llvm-19-runtime clang-19 clang-tools-19 lld-19 libpolly-19-dev libmlir-19-dev mlir-19-tools
100- echo "MLIR_SYS_190_PREFIX=/usr/lib/llvm-19" >> $GITHUB_ENV
101- echo "LLVM_SYS_191_PREFIX=/usr/lib/llvm-19" >> $GITHUB_ENV
102- echo "TABLEGEN_190_PREFIX=/usr/lib/llvm-19" >> $GITHUB_ENV
103-
104- - name : Install LLVM dependencies for macOS
105- if : ${{ matrix.job.platform == 'darwin' }}
106- run : |
107- brew install llvm@19 --quiet
108- brew install zstd
109- echo "MLIR_SYS_190_PREFIX=$(brew --prefix llvm@19)" >> $GITHUB_ENV
110- echo "LLVM_SYS_191_PREFIX=$(brew --prefix llvm@19)" >> $GITHUB_ENV
111- echo "TABLEGEN_190_PREFIX=$(brew --prefix llvm@19)" >> $GITHUB_ENV
112- echo "LIBRARY_PATH=$(brew --prefix zstd)/lib:$LIBRARY_PATH" >> $GITHUB_ENV
113- echo "CPATH=$(brew --prefix zstd)/include:$CPATH" >> $GITHUB_ENV
93+ repo-token : ${{ secrets.GITHUB_TOKEN }}
94+ version : " 25.x"
11495
11596 - name : Apple M1 setup
11697 if : ${{ matrix.job.target == 'aarch64-apple-darwin' }}
@@ -130,21 +111,26 @@ jobs:
130111 - name : Build binary
131112 run : |
132113 cargo --version
133- cargo build -p torii --profile ${CARGO_PROFILE} --target ${{ matrix.job.target }}
114+ cargo build -p torii --release --target ${{ matrix.job.target }}
134115
135116 - name : Archive binaries
136117 id : artifacts
137118 env :
138119 VERSION_NAME : ${{ needs.prepare.outputs.tag_name }}
139120 run : |
140121 if [ "$PLATFORM_NAME" == "linux" ]; then
141- tar -czvf "torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" -C ./target/${TARGET}/${CARGO_PROFILE} torii
122+ tar -czvf "torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" -C ./target/${TARGET}/release torii
142123 echo "file_name=torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" >> $GITHUB_OUTPUT
143124 elif [ "$PLATFORM_NAME" == "darwin" ]; then
144125 # We need to use gtar here otherwise the archive is corrupt.
145126 # See: https://github.com/actions/virtual-environments/issues/2619
146- gtar -czvf "torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" -C ./target/${TARGET}/${CARGO_PROFILE} torii
127+ gtar -czvf "torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" -C ./target/${TARGET}/release torii
147128 echo "file_name=torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" >> $GITHUB_OUTPUT
129+ else
130+ cd ./target/${TARGET}/release
131+ 7z a -tzip "torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.zip" torii.exe
132+ mv "torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.zip" ../../../
133+ echo "file_name=torii_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.zip" >> $GITHUB_OUTPUT
148134 fi
149135 shell : bash
150136
@@ -153,7 +139,7 @@ jobs:
153139 if : ${{ env.PLATFORM_NAME == 'linux' }}
154140 run : |
155141 mkdir -p $PLATFORM_NAME/$ARCH
156- mv target/${TARGET}/${CARGO_PROFILE} /torii $PLATFORM_NAME/$ARCH
142+ mv target/${TARGET}/release /torii $PLATFORM_NAME/$ARCH
157143 shell : bash
158144
159145 - name : Upload docker binaries
@@ -171,11 +157,12 @@ jobs:
171157 retention-days : 1
172158
173159 create-draft-release :
174- runs-on : ubuntu-20.04 -4-cores
160+ runs-on : ubuntu-latest -4-cores
175161 needs : [prepare, release]
176162 env :
177163 GITHUB_USER : ${{ github.repository_owner }}
178164 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
165+ if : ${{ !contains(needs.prepare.outputs.tag_name, 'preview') }}
179166 steps :
180167 - uses : actions/checkout@v4
181168 - uses : actions/download-artifact@v4
@@ -189,15 +176,15 @@ jobs:
189176 echo "version=v$(cargo get workspace.package.version)" >> $GITHUB_OUTPUT
190177 - name : Display structure of downloaded files
191178 run : ls -R artifacts
192- - run : gh release create ${{ steps.version_info.outputs.version }} ./artifacts/* --generate-notes --draft
179+ - run : gh release create ${{ steps.version_info.outputs.version }} ./artifacts/*.{gz,zip} --generate-notes --draft
193180
194181 docker-build-and-push :
195- runs-on : ubuntu-20.04 -4-cores
182+ runs-on : ubuntu-latest -4-cores
196183 needs : [prepare, release]
197184
198185 steps :
199186 - name : Checkout repository
200- uses : actions/checkout@v2
187+ uses : actions/checkout@v4
201188
202189 - name : Download binaries
203190 uses : actions/download-artifact@v4
0 commit comments