2626 MINGW_W64_VERSION : ${{steps.get-versions.outputs.MINGW_W64_VERSION}}
2727 PYTHON_VERSION_MINGW : ${{steps.get-versions.outputs.PYTHON_VERSION_MINGW}}
2828 TAG : ${{steps.get-tag.outputs.TAG}}
29+ COMMIT_DATE_UNIX : ${{steps.get-tag.outputs.COMMIT_DATE_UNIX}}
30+ BUILD_DATE : ${{steps.get-tag.outputs.BUILD_DATE}}
31+ BUILD_DATE_UNIX : ${{steps.get-tag.outputs.BUILD_DATE_UNIX}}
2932 steps :
33+ - uses : actions/checkout@v4
34+ with :
35+ sparse-checkout : .
3036 - name : Select build tag
3137 id : get-tag
3238 run : |
3642 TAG=$(TZ=UTC date +%Y%m%d)
3743 fi
3844 echo TAG=$TAG >> $GITHUB_OUTPUT
45+ echo COMMIT_DATE_UNIX=$(git log -1 --pretty=%ct $GITHUB_SHA) >> $GITHUB_OUTPUT
46+ echo BUILD_DATE=$(date -u '+%FT%TZ') >> $GITHUB_OUTPUT
47+ echo BUILD_DATE_UNIX=$(date -d "${BUILD_DATE}" +%s) >> $GITHUB_OUTPUT
3948 cat $GITHUB_OUTPUT
4049 cat $GITHUB_OUTPUT >> parameters.txt
4150 - name : Check latest version
6675 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
6776 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
6877 TAG : ${{needs.prepare.outputs.TAG}}
78+ SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
79+ BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
6980 run : |
7081 sudo apt-get update && sudo apt-get install ninja-build
7182 # Skip dynamic library dependencies that might make it harder to
7788 DISTRO=ubuntu-$(grep DISTRIB_RELEASE /etc/lsb-release | cut -f 2 -d =)-$(uname -m)
7889 NAME=llvm-mingw-$TAG-ucrt-$DISTRO
7990 mv llvm-mingw $NAME
80- tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 $NAME
91+ tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
8192 - uses : actions/upload-artifact@v4
8293 with :
8394 name : linux-ucrt-x86_64-toolchain
97108 env :
98109 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
99110 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
111+ SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
100112 run : |
101113 sudo apt-get update && sudo apt-get install ninja-build g++-aarch64-linux-gnu
102114 ./build-all.sh $(pwd)/install/llvm-mingw --disable-clang-tools-extra --no-runtimes --host=aarch64-linux-gnu
@@ -119,12 +131,13 @@ jobs:
119131 - name : Package the toolchain
120132 env :
121133 TAG : ${{needs.prepare.outputs.TAG}}
134+ BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
122135 run : |
123136 cd install
124137 DISTRO=ubuntu-$(grep DISTRIB_RELEASE /etc/lsb-release | cut -f 2 -d =)-aarch64
125138 NAME=llvm-mingw-$TAG-ucrt-$DISTRO
126139 mv llvm-mingw $NAME
127- tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 $NAME
140+ tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
128141 - uses : actions/upload-artifact@v4
129142 with :
130143 name : linux-ucrt-aarch64-toolchain
@@ -149,6 +162,8 @@ jobs:
149162 env :
150163 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
151164 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
165+ SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
166+ BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
152167 run : |
153168 sudo apt-get update && sudo apt-get install ninja-build
154169 # Skip dynamic library dependencies that might make it harder to
@@ -157,7 +172,7 @@ jobs:
157172 LLVM_CMAKEFLAGS="-DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_TERMINFO=OFF" ./build-all.sh $(pwd)/install/llvm-mingw --disable-clang-tools-extra --disable-lldb --enable-asserts
158173 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
159174 cd install
160- tar -Jcf ../llvm-mingw-linux.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 llvm-mingw
175+ tar -Jcf ../llvm-mingw-linux.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" llvm-mingw
161176 - uses : actions/upload-artifact@v4
162177 with :
163178 name : linux-asserts-toolchain
@@ -177,6 +192,8 @@ jobs:
177192 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
178193 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
179194 TAG : ${{needs.prepare.outputs.TAG}}
195+ SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
196+ BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
180197 run : |
181198 brew install ninja gnu-tar
182199 # Disable zstd and python. Both are available on the runners, but
@@ -189,7 +206,7 @@ jobs:
189206 cd install
190207 NAME=llvm-mingw-$TAG-ucrt-macos-universal
191208 mv llvm-mingw $NAME
192- gtar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 $NAME
209+ gtar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
193210 - uses : actions/upload-artifact@v4
194211 with :
195212 name : macos-ucrt-toolchain
@@ -233,6 +250,8 @@ jobs:
233250 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
234251 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
235252 TAG : ${{needs.prepare.outputs.TAG}}
253+ SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
254+ BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
236255 run : |
237256 ./build-all.sh $(pwd)/install/llvm-mingw --disable-clang-tools-extra --disable-lldb
238257 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
@@ -241,7 +260,7 @@ jobs:
241260 cd install
242261 NAME=llvm-mingw-$TAG-ucrt-msys2-${{matrix.sys}}
243262 mv llvm-mingw $NAME
244- tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 $NAME
263+ tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
245264 - uses : actions/upload-artifact@v4
246265 with :
247266 name : msys2-${{matrix.sys}}-toolchain
@@ -281,6 +300,8 @@ jobs:
281300 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
282301 PYTHON_VERSION_MINGW : ${{needs.prepare.outputs.PYTHON_VERSION_MINGW}}
283302 TAG : ${{needs.prepare.outputs.TAG}}
303+ SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
304+ BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
284305 run : |
285306 sudo apt-get update && sudo apt-get install autoconf-archive ninja-build
286307 ./build-cross-tools.sh /opt/llvm-mingw $(pwd)/install/llvm-mingw ${{matrix.arch}} --with-python
0 commit comments