]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
automatically upload windows artifact on Release Tag creation 4321/head
authorYann Collet <cyan@fb.com>
Fri, 28 Feb 2025 20:04:06 +0000 (12:04 -0800)
committerYann Collet <cyan@fb.com>
Fri, 28 Feb 2025 20:04:06 +0000 (12:04 -0800)
.github/workflows/windows-artifacts.yml

index 0795524141dd561fd22c9f78f1b9d23a6a71107a..4c79c94202431a493f40692ff836563ffd644643 100644 (file)
@@ -11,6 +11,8 @@ permissions: read-all
 
 jobs:
   windows-artifacts:
+    permissions:
+      contents: write # to fetch code and upload artifacts
     # see https://ariya.io/2020/07/on-github-actions-with-msys2
     runs-on: windows-latest
     # see https://github.com/msys2/setup-msys2
@@ -27,7 +29,7 @@ jobs:
     - uses: msys2/setup-msys2@61f9e5e925871ba6c9e3e8da24ede83ea27fa91f # tag=v2.27.0
       with:
         msystem: ${{ matrix.msystem }}
-        install: make zlib git mingw-w64-${{matrix.env}}-gcc
+        install: make zlib p7zip git mingw-w64-${{matrix.env}}-gcc
         update: true
 
     - name: display versions
@@ -49,10 +51,24 @@ jobs:
         ./lib/dll/example/build_package.bat || exit 1
         mv bin/ zstd-${{ github.ref_name }}-${{matrix.ziparch}}/
 
-    - name: Publish zstd-$VERSION-${{matrix.ziparch}}.zip
+    - name: Publish zstd-$VERSION-${{matrix.ziparch}}.zip for manual inspection
       uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # tag=v4.3.1
       with:
         compression-level: 9  # maximum compression
         if-no-files-found: error # defaults to `warn`
         path: ${{ github.workspace }}/zstd-${{ github.ref_name }}-${{matrix.ziparch}}/
         name: zstd-${{ github.ref_name }}-${{matrix.ziparch}}
+
+    - name: Package artifact for upload
+      run: |
+        7z a -tzip -mx9 "$(cygpath -u '${{ github.workspace }}/zstd-${{ github.ref_name }}-${{ matrix.ziparch }}.zip')" "$(cygpath -u '${{ github.workspace }}/zstd-${{ github.ref_name }}-${{ matrix.ziparch }}')"
+
+    - name: Upload release asset
+      if: github.event_name == 'release'
+      shell: pwsh
+      env:
+        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      run: |
+        gh release upload "${{ github.ref_name }}" "$env:GITHUB_WORKSPACE/zstd-${{ github.ref_name }}-${{ matrix.ziparch }}.zip" --clobber
+
+