diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 90f57e3..942eaeb 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -85,6 +85,13 @@ jobs: subversion\*.log subversion\Release\*.log + - name: Upload binary files + uses: actions/upload-artifact@v4 + if: always() + with: + name: dist-${{ matrix.os }}-core + path: ~\AppData\Local\dist + bindings: if: ${{ contains(fromJson(inputs.targets), 'swig-py') || @@ -207,6 +214,13 @@ jobs: path: | subversion\*.log + - name: Upload binary files + uses: actions/upload-artifact@v4 + if: always() + with: + name: dist-${{ matrix.os }}-bindings + path: ~\AppData\Local\dist + prepare: runs-on: ${{ matrix.os }} diff --git a/build.ps1 b/build.ps1 index 69afaf4..abcf3e2 100644 --- a/build.ps1 +++ b/build.ps1 @@ -240,6 +240,49 @@ if ($LASTEXITCODE) { } Write-Output '::endgroup::' +Write-Output '::group::dist' +$dist_dir = "$LocalAppData\dist" +New-Item -Path "$dist_dir\bin" -ItemType Directory -Force +Copy-Item -Path @("$deps_prefix\bin\libapr*.dll", + "$deps_prefix\bin\apr_*.dll", + "$vcpkg_dir\bin\libcrypto-*.dll", + "$vcpkg_dir\bin\libexpat.dll", + "$vcpkg_dir\bin\libssl-*.dll", + "$vcpkg_dir\bin\zlib1.dll", + "Release\subversion\libsvn_*\*.dll") ` + -Destination "$dist_dir\bin" ` + -Verbose +switch -Exact ($args[0]) { + 'core' { + Copy-Item -Path "Release\subversion\svn*\*.exe" ` + -Destination "$dist_dir\bin" ` + -Verbose + New-Item -Path "$dist_dir\share\locale" -ItemType Directory -Force + Get-ChildItem "Release\mo" -Filter "*.mo" | ForEach-Object { + $locale = $_.BaseName + $locale_dir = "$dist_dir\share\locale\$locale\LC_MESSAGES" + New-Item -Path $locale_dir -ItemType Directory -Verbose + Copy-Item -Path $_.FullName -Destination $locale_dir -Verbose + } + } + 'bindings' { + New-Item -Path @("$dist_dir\python\lib\svn", + "$dist_dir\python\lib\libsvn") ` + -ItemType Directory ` + -Force + Copy-Item -Path "subversion\bindings\swig\python\svn\*.py" ` + -Destination "$dist_dir\python\lib\svn" ` + -Verbose + Copy-Item -Path @("subversion\bindings\swig\python\*.py", + "Release\subversion\bindings\swig\python\libsvn_swig_py\*.dll", + "Release\subversion\bindings\swig\python\_*.pyd") ` + -Destination "$dist_dir\python\lib\libsvn" ` + -Verbose + & $python -m compileall "$dist_dir\python\lib" + } +} +Write-Output '::endgroup::' + $rc = 0 foreach ($item in $test_targets) { Write-Output "::group::win-tests.py $item"