]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Github Action to generate Win64 artifacts
authorYann Collet <cyan@fb.com>
Fri, 10 Feb 2023 06:48:30 +0000 (22:48 -0800)
committerYann Collet <cyan@fb.com>
Fri, 10 Feb 2023 06:48:30 +0000 (22:48 -0800)
.github/workflows/windows-artifacts.yml [new file with mode: 0644]

diff --git a/.github/workflows/windows-artifacts.yml b/.github/workflows/windows-artifacts.yml
new file mode 100644 (file)
index 0000000..8183d42
--- /dev/null
@@ -0,0 +1,69 @@
+name: release-artifacts
+
+on:
+  push:
+    branches: [ release, test_artifacts, win_artifacts ]
+
+permissions: read-all
+
+jobs:
+  windows-64-artifacts:
+    # see https://ariya.io/2020/07/on-github-actions-with-msys2
+    runs-on: windows-latest
+    defaults:
+      run:
+        shell: msys2 {0}
+    steps:
+    - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
+    - uses: msys2/setup-msys2@v2
+      with:
+        msystem: MINGW64
+        install: make zlib git p7zip gcc
+        update: true
+    - name: display versions
+      run: |
+        make -v
+        gcc -v
+
+    - name: Building zlib to static link
+      run: |
+        git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib
+        make -C zlib -f win32/Makefile.gcc libz.a
+
+    - name: Building zstd programs in 64-bit mode
+      run: |
+        CPPFLAGS=-I../zlib LDFLAGS=../zlib/libz.a make -j allzstd MOREFLAGS=-static V=1
+
+    - name: Create artifacts
+      run: |
+        ./lib/dll/example/build_package.bat
+        make clean
+        mkdir -p bin/
+        make -j -C programs zstd DEBUGFLAGS=
+        cp programs/zstd.exe bin/zstd.exe
+        git clone --depth 1 --branch release https://github.com/facebook/zstd zstd_release
+        cd zstd_release
+        git archive --format=tar release -o zstd-src.tar
+        ../programs/zstd -19 zstd-src.tar
+        sha256sum zstd-src.tar.zst > zstd-src.tar.zst.sha256.sig
+        cd ../bin/
+        7z a -tzip -mx9 zstd-win-release-win64.zip *
+        cd ..
+
+    - name: Publish zstd-src.tar.zst Artifact
+      uses: actions/upload-artifact@v3
+      with:
+        path: ${{ github.workspace }}/zstd_release/zstd-src.tar.zst
+        name: zstd-src.tar.zst
+
+    - name: Publish zstd-src.tar.zst signature
+      uses: actions/upload-artifact@v3
+      with:
+        path: ${{ github.workspace }}/zstd_release/zstd-src.tar.zst.sha256.sig
+        name: zstd-src.tar.zst.sha256.sig
+
+    - name: Publish zstd-win-release-win64.zip
+      uses: actions/upload-artifact@v3
+      with:
+        path: ${{ github.workspace }}/bin/zstd-win-release-win64.zip
+        name: zstd-win-release-win64.zip