ci(release): archive Windows artifacts with zip

Signed-off-by: Hanchin Hsieh <me@yuchanns.xyz>
This commit is contained in:
yuchanns 2024-09-04 12:41:36 +08:00 committed by Hanchin Hsieh
parent 5fde5e03ea
commit 3e65e7a40d

View File

@ -61,39 +61,54 @@ jobs:
- name: Build all crates - name: Build all crates
run: cargo build --release --features ${{ matrix.feature }} run: cargo build --release --features ${{ matrix.feature }}
- name: Handle binaries - name: Handle binaries
if: ${{ matrix.os != 'windows-latest' }}
shell: bash shell: bash
run: | run: |
mkdir -p results mkdir -p results
if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
OS="linux" OS="linux"
EXT="so" EXT="so"
elif [ "${{ matrix.os }}" == "macos-latest" ]; then else
OS="macOS" OS="macOS"
EXT="dylib" EXT="dylib"
else
OS="windows"
EXT="dll"
fi fi
if [ "${{ matrix.os }}" == "windows-latest" ]; then
cp target/release/avante_templates.$EXT results/avante_templates.$EXT
cp target/release/avante_tokenizers.$EXT results/avante_tokenizers.$EXT
else
cp target/release/libavante_templates.$EXT results/avante_templates.$EXT cp target/release/libavante_templates.$EXT results/avante_templates.$EXT
cp target/release/libavante_tokenizers.$EXT results/avante_tokenizers.$EXT cp target/release/libavante_tokenizers.$EXT results/avante_tokenizers.$EXT
fi
cd results cd results
tar zcvf avante_lib-${{ matrix.os }}-${{ matrix.feature }}.tar.gz *.${EXT} tar zcvf avante_lib-${{ matrix.os }}-${{ matrix.feature }}.tar.gz *.${EXT}
- name: Handle binaries (Windows)
if: ${{ matrix.os == 'windows-latest' }}
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path results
Copy-Item -Path "target\release\avante_templates.dll" -Destination "results\avante_templates.dll"
Copy-Item -Path "target\release\avante_tokenizers.dll" -Destination "results\avante_tokenizers.dll"
Set-Location -Path results
$dllFiles = Get-ChildItem -Filter "*.dll" | Select-Object -ExpandProperty Name
Compress-Archive -Path $dllFiles -DestinationPath "avante_lib-${{ matrix.os }}-${{ matrix.feature }}.zip"
- name: Upload Release Asset - name: Upload Release Asset
uses: shogo82148/actions-upload-release-asset@v1 uses: shogo82148/actions-upload-release-asset@v1
if: ${{ matrix.os != 'windows-latest' }}
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ASSET_NAME: avante_lib-${{ matrix.os }}-${{ matrix.feature }}.tar.gz ASSET_NAME: avante_lib-${{ matrix.os }}-${{ matrix.feature }}.tar.gz
with: with:
upload_url: ${{ needs.create-release.outputs.release_upload_url }} upload_url: ${{ needs.create-release.outputs.release_upload_url }}
asset_path: ./results/avante_lib-${{ matrix.os }}-${{ matrix.feature }}.tar.gz asset_path: ./results/avante_lib-${{ matrix.os }}-${{ matrix.feature }}.tar.gz
- name: Upload Release Asset (Windows)
uses: shogo82148/actions-upload-release-asset@v1
if: ${{ matrix.os == 'windows-latest' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ASSET_NAME: avante_lib-${{ matrix.os }}-${{ matrix.feature }}.zip
with:
upload_url: ${{ needs.create-release.outputs.release_upload_url }}
asset_path: ./results/avante_lib-${{ matrix.os }}-${{ matrix.feature }}.zip
publish-release: publish-release:
permissions: permissions: