ci: refactor build and release workflows to streamline DLL handling and packaging
This commit is contained in:
@@ -50,48 +50,21 @@ jobs:
|
||||
- name: Build ${{ matrix.config }}
|
||||
run: python build_plugin.py --configs ${{ matrix.config }} --verbosity normal
|
||||
|
||||
- name: Read VERSION
|
||||
id: version
|
||||
shell: pwsh
|
||||
run: |
|
||||
$v = (Get-Content VERSION -Raw).Trim()
|
||||
$map = @{ 'x86-ansi' = 'x86-ansi'; 'x86-unicode' = 'x86-unicode'; 'x64-unicode' = 'amd64-unicode' }
|
||||
$dir = $map['${{ matrix.config }}']
|
||||
"version=$v" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
|
||||
"dir=$dir" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
|
||||
|
||||
- name: Package
|
||||
shell: pwsh
|
||||
run: |
|
||||
$name = "${{ github.event.repository.name }}-${{ steps.version.outputs.version }}-${{ steps.version.outputs.dir }}"
|
||||
$stage = "stage/$name"
|
||||
New-Item -ItemType Directory -Force -Path $stage | Out-Null
|
||||
Copy-Item "dist/${{ steps.version.outputs.dir }}/*" $stage -Recurse
|
||||
Copy-Item README.md, LICENSE, VERSION, CHANGELOG.md $stage
|
||||
if (Test-Path "include") { Copy-Item "include" $stage -Recurse }
|
||||
if (Test-Path "examples") { Copy-Item "examples" $stage -Recurse }
|
||||
Compress-Archive -Path "$stage/*" -DestinationPath "$name.zip" -Force
|
||||
|
||||
- name: Collect DLL
|
||||
shell: pwsh
|
||||
run: |
|
||||
$map = @{ 'x86-ansi' = 'x86-ansi'; 'x86-unicode' = 'x86-unicode'; 'x64-unicode' = 'amd64-unicode' }
|
||||
$src = "plugins\$($map['${{ matrix.config }}'])\nsis7z.dll"
|
||||
$dst = "dist\${{ matrix.config }}"
|
||||
$dir = $map['${{ matrix.config }}']
|
||||
$src = "plugins\$dir\nsis7z.dll"
|
||||
$dst = "dll-bundle\$dir"
|
||||
New-Item -ItemType Directory -Force -Path $dst | Out-Null
|
||||
Copy-Item $src $dst
|
||||
|
||||
- name: Upload zip
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: pkg-${{ matrix.config }}
|
||||
path: '*.zip'
|
||||
|
||||
- name: Upload DLL
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ${{ github.event.repository.name }}-${{ steps.version.outputs.version }}-${{ matrix.config }}
|
||||
path: dist/**/*.dll
|
||||
name: dll-win-${{ matrix.config }}
|
||||
path: dll-bundle/**
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
||||
@@ -126,35 +99,4 @@ jobs:
|
||||
- name: Build ${{ matrix.config }} on Linux
|
||||
run: python build_plugin.py --host linux --configs ${{ matrix.config }} --verbose
|
||||
|
||||
- name: Collect DLL
|
||||
run: |
|
||||
case "${{ matrix.config }}" in
|
||||
x86-ansi) dir="x86-ansi" ;;
|
||||
x86-unicode) dir="x86-unicode" ;;
|
||||
x64-unicode) dir="amd64-unicode" ;;
|
||||
esac
|
||||
dst="dist/${{ matrix.config }}"
|
||||
mkdir -p "$dst"
|
||||
cp "plugins/$dir/nsis7z.dll" "$dst/"
|
||||
|
||||
- name: Read VERSION
|
||||
id: version_linux
|
||||
run: |
|
||||
v="$(tr -d '\r\n' < VERSION)"
|
||||
echo "version=$v" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ${{ github.event.repository.name }}-${{ steps.version_linux.outputs.version }}-${{ matrix.config }}-linux
|
||||
path: dist/**
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
||||
- name: Upload DLL
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ${{ github.event.repository.name }}-${{ steps.version_linux.outputs.version }}-${{ matrix.config }}-linux-dll
|
||||
path: dist/**/*.dll
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
||||
Reference in New Issue
Block a user