@@ -16,6 +16,7 @@ permissions:
1616
1717env :
1818 CARGO_TERM_COLOR : always
19+ RELEASE_TAG : ${{ github.event_name == 'workflow_dispatch' && inputs.tag_name || github.ref_name }}
1920
2021jobs :
2122 build :
@@ -29,21 +30,27 @@ jobs:
2930 target : x86_64-unknown-linux-gnu
3031 archive_ext : tar.gz
3132 binary_name : langcodec
33+ binary_asset_ext : " "
3234 - os : macos-15
3335 target : x86_64-apple-darwin
3436 archive_ext : tar.gz
3537 binary_name : langcodec
38+ binary_asset_ext : " "
3639 - os : macos-15
3740 target : aarch64-apple-darwin
3841 archive_ext : tar.gz
3942 binary_name : langcodec
43+ binary_asset_ext : " "
4044 - os : windows-2022
4145 target : x86_64-pc-windows-msvc
4246 archive_ext : zip
4347 binary_name : langcodec.exe
48+ binary_asset_ext : " .exe"
4449
4550 steps :
4651 - uses : actions/checkout@v4
52+ with :
53+ ref : ${{ env.RELEASE_TAG }}
4754
4855 - name : Install Rust (stable)
4956 uses : dtolnay/rust-toolchain@stable
@@ -59,34 +66,44 @@ jobs:
5966 shell : bash
6067 run : |
6168 set -euo pipefail
62- version="${GITHUB_REF_NAME }"
69+ version="${RELEASE_TAG }"
6370 archive="langcodec-${version}-${{ matrix.target }}.${{ matrix.archive_ext }}"
6471 binary_dir="dist/langcodec-${version}-${{ matrix.target }}"
72+ binary_asset="langcodec-${version}-${{ matrix.target }}"
6573 mkdir -p "${binary_dir}"
6674 cp "target/${{ matrix.target }}/release/${{ matrix.binary_name }}" "${binary_dir}/langcodec"
75+ cp "target/${{ matrix.target }}/release/${{ matrix.binary_name }}" "${binary_asset}"
76+ chmod 755 "${binary_asset}"
6777 tar -C dist -czf "${archive}" "langcodec-${version}-${{ matrix.target }}"
6878 shasum -a 256 "${archive}" > "${archive}.sha256"
79+ shasum -a 256 "${binary_asset}" > "${binary_asset}.sha256"
6980
7081 - name : Package artifact (Windows)
7182 if : runner.os == 'Windows'
7283 shell : pwsh
7384 run : |
74- $version = $env:GITHUB_REF_NAME
85+ $version = $env:RELEASE_TAG
7586 $folder = "langcodec-$version-${{ matrix.target }}"
7687 $archive = "$folder.${{ matrix.archive_ext }}"
88+ $binaryAsset = "$folder.exe"
7789 New-Item -ItemType Directory -Force -Path "dist/$folder" | Out-Null
7890 Copy-Item "target/${{ matrix.target }}/release/${{ matrix.binary_name }}" "dist/$folder/langcodec.exe"
91+ Copy-Item "target/${{ matrix.target }}/release/${{ matrix.binary_name }}" $binaryAsset
7992 Compress-Archive -Path "dist/$folder" -DestinationPath $archive
8093 $hash = (Get-FileHash -Algorithm SHA256 $archive).Hash.ToLower()
8194 "$hash $archive" | Out-File -Encoding ascii "$archive.sha256"
95+ $binaryHash = (Get-FileHash -Algorithm SHA256 $binaryAsset).Hash.ToLower()
96+ "$binaryHash $binaryAsset" | Out-File -Encoding ascii "$binaryAsset.sha256"
8297
8398 - name : Upload packaged artifacts
8499 uses : actions/upload-artifact@v4
85100 with :
86101 name : release-${{ matrix.target }}
87102 path : |
88- langcodec-${{ github.ref_name }}-${{ matrix.target }}.${{ matrix.archive_ext }}
89- langcodec-${{ github.ref_name }}-${{ matrix.target }}.${{ matrix.archive_ext }}.sha256
103+ langcodec-${{ env.RELEASE_TAG }}-${{ matrix.target }}.${{ matrix.archive_ext }}
104+ langcodec-${{ env.RELEASE_TAG }}-${{ matrix.target }}.${{ matrix.archive_ext }}.sha256
105+ langcodec-${{ env.RELEASE_TAG }}-${{ matrix.target }}${{ matrix.binary_asset_ext }}
106+ langcodec-${{ env.RELEASE_TAG }}-${{ matrix.target }}${{ matrix.binary_asset_ext }}.sha256
90107
91108 release :
92109 name : Publish GitHub Release
@@ -104,4 +121,5 @@ jobs:
104121 uses : softprops/action-gh-release@v2
105122 with :
106123 generate_release_notes : true
124+ tag_name : ${{ env.RELEASE_TAG }}
107125 files : dist/*
0 commit comments