mirror of
https://github.com/containers/podman.git
synced 2025-05-16 22:48:46 +08:00
Merge pull request #26089 from l0rd/release-win-arm64-artifacts
Release win arm64 artifacts
This commit is contained in:
23
.github/workflows/release.yml
vendored
23
.github/workflows/release.yml
vendored
@ -144,6 +144,9 @@ jobs:
|
||||
|
||||
windows-installer:
|
||||
name: Build Windows Installer
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [amd64, arm64]
|
||||
runs-on: windows-latest
|
||||
needs: [check, build-artifacts]
|
||||
env:
|
||||
@ -198,13 +201,29 @@ jobs:
|
||||
}
|
||||
Pop-Location
|
||||
Exit $code
|
||||
- name: Display structure of downloaded files
|
||||
env:
|
||||
PODMAN_ARCH: ${{ matrix.arch }}
|
||||
- name: Display structure of built files
|
||||
run: |
|
||||
Push-Location contrib\win-installer
|
||||
Get-ChildItem
|
||||
Pop-Location
|
||||
- name: Artifact
|
||||
- name: Rename the installer
|
||||
run: |
|
||||
Push-Location contrib\win-installer
|
||||
Copy-Item -Path podman-${{steps.getversion.outputs.version}}-setup.exe -Destination podman-installer-windows-${{ matrix.arch }}.exe
|
||||
Pop-Location
|
||||
- name: Upload the installer
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: win-installer-${{ matrix.arch }}
|
||||
path: |
|
||||
.\contrib\win-installer\podman-installer-windows-${{ matrix.arch }}.exe
|
||||
# For backwards compatibility, we also upload the amd64 windows
|
||||
# installer using the old name
|
||||
- name: Upload the installer (legacy)
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ matrix.arch == 'amd64' }}
|
||||
with:
|
||||
name: win-installer
|
||||
path: |
|
||||
|
15
Makefile
15
Makefile
@ -847,7 +847,7 @@ podman-remote-release-%.zip: test/version/version ## Build podman-remote for %=$
|
||||
$(MAKE) $(GOPLAT) podman-remote; \
|
||||
fi
|
||||
if [[ "$(GOOS)" == "windows" ]]; then \
|
||||
$(MAKE) $(GOPLAT) TMPDIR="" win-gvproxy; \
|
||||
$(MAKE) $(GOPLAT) TMPDIR="" win-gvproxy-$(GOARCH); \
|
||||
fi
|
||||
if [[ "$(GOOS)" == "darwin" ]]; then \
|
||||
$(MAKE) $(GOPLAT) podman-mac-helper;\
|
||||
@ -862,10 +862,15 @@ podman-remote-release-%.zip: test/version/version ## Build podman-remote for %=$
|
||||
|
||||
# Downloads pre-built gvproxy and win-sshproxy helpers. See comment on GVPROXY_VERSION declaration
|
||||
.PHONY: win-gvproxy
|
||||
win-gvproxy: test/version/version
|
||||
win-gvproxy: win-gvproxy-amd64 # Keep this target for backwards compatibility
|
||||
|
||||
win-gvproxy-%: test/version/version
|
||||
$(eval GOARCH := $*)
|
||||
$(eval GVPROXY_FILENAME := $(if $(filter arm64,$(GOARCH)), gvproxy-windows-arm64.exe,gvproxy-windowsgui.exe))
|
||||
$(eval SSHPROXY_FILENAME := $(if $(filter arm64,$(GOARCH)), win-sshproxy-arm64.exe, win-sshproxy.exe))
|
||||
mkdir -p bin/windows/
|
||||
curl -sSL -o bin/windows/gvproxy.exe --retry 5 https://github.com/containers/gvisor-tap-vsock/releases/download/$(GVPROXY_VERSION)/gvproxy-windowsgui.exe
|
||||
curl -sSL -o bin/windows/win-sshproxy.exe --retry 5 https://github.com/containers/gvisor-tap-vsock/releases/download/$(GVPROXY_VERSION)/win-sshproxy.exe
|
||||
curl -sSL -o bin/windows/gvproxy.exe --retry 5 https://github.com/containers/gvisor-tap-vsock/releases/download/$(GVPROXY_VERSION)/$(GVPROXY_FILENAME)
|
||||
curl -sSL -o bin/windows/win-sshproxy.exe --retry 5 https://github.com/containers/gvisor-tap-vsock/releases/download/$(GVPROXY_VERSION)/$(SSHPROXY_FILENAME)
|
||||
|
||||
.PHONY: rpm
|
||||
rpm: ## Build rpm packages
|
||||
@ -1059,6 +1064,8 @@ release-artifacts: clean-binaries
|
||||
mv podman-remote-release-darwin_arm64.zip release/
|
||||
$(MAKE) podman-remote-release-windows_amd64.zip
|
||||
mv podman-remote-release-windows_amd64.zip release/
|
||||
$(MAKE) podman-remote-release-windows_arm64.zip
|
||||
mv podman-remote-release-windows_arm64.zip release/
|
||||
$(MAKE) podman-remote-static-linux_amd64
|
||||
tar -cvzf podman-remote-static-linux_amd64.tar.gz bin/podman-remote-static-linux_amd64
|
||||
$(MAKE) podman-remote-static-linux_arm64
|
||||
|
@ -105,7 +105,7 @@ if ($ENV:INSTVER -eq "") {
|
||||
}
|
||||
|
||||
$installerPlatform = ""
|
||||
if ($null -eq $ENV:PODMAN_ARCH -or $ENV:PODMAN_ARCH -eq "amd64") {
|
||||
if ($null -eq $ENV:PODMAN_ARCH -or "" -eq $ENV:PODMAN_ARCH -or "amd64" -eq $ENV:PODMAN_ARCH) {
|
||||
$installerPlatform = "x64"
|
||||
} elseif ($ENV:PODMAN_ARCH -eq "arm64") {
|
||||
$installerPlatform = "arm64"
|
||||
|
@ -97,10 +97,14 @@ try {
|
||||
$restore = 1
|
||||
$ProgressPreference = 'SilentlyContinue';
|
||||
|
||||
if ($null -eq $ENV:PODMAN_ARCH -or "" -eq $ENV:PODMAN_ARCH ) {
|
||||
Write-Warning "PODMAN_ARCH not set, defaulting to amd64"
|
||||
$ENV:PODMAN_ARCH = "amd64"
|
||||
}
|
||||
if ($releaseDir.Length -gt 0) {
|
||||
Copy-Item -Path "$releaseDir/podman-remote-release-windows_amd64.zip" "release.zip"
|
||||
Copy-Item -Path "$releaseDir/podman-remote-release-windows_${ENV:PODMAN_ARCH}.zip" "release.zip"
|
||||
} else {
|
||||
DownloadOrSkip "$base_url/releases/download/$version/podman-remote-release-windows_amd64.zip" "release.zip"
|
||||
DownloadOrSkip "$base_url/releases/download/$version/podman-remote-release-windows_${ENV:PODMAN_ARCH}.zip" "release.zip"
|
||||
DownloadOptional "$base_url/releases/download/$version/shasums" ..\shasums
|
||||
}
|
||||
Expand-Archive -Path release.zip
|
||||
|
@ -14,6 +14,7 @@ param (
|
||||
Write-Warning "Unsupported architecture $arch. Using default ($defaultArchitecture)."
|
||||
return $defaultArchitecture
|
||||
}
|
||||
return $arch
|
||||
),
|
||||
[parameter(ValueFromRemainingArguments)][object[]]$params = @()
|
||||
)
|
||||
@ -109,7 +110,7 @@ function Installer{
|
||||
[string]$version,
|
||||
[string]$suffix = "dev"
|
||||
);
|
||||
Write-Host "Building the windows installer"
|
||||
Write-Host "Building the windows installer for $architecture"
|
||||
|
||||
# Check for the files to include in the installer
|
||||
$requiredArtifacts = @(
|
||||
|
Reference in New Issue
Block a user