diff --git a/docker/acr/Dockerfile.windows.amd64.ltsc2025 b/docker/acr/Dockerfile.windows.amd64.ltsc2025 new file mode 100644 index 0000000..8dcdfce --- /dev/null +++ b/docker/acr/Dockerfile.windows.amd64.ltsc2025 @@ -0,0 +1,10 @@ +# escape=` +FROM plugins/docker:windows-ltsc2025-amd64 + +LABEL maintainer="Drone.IO Community " ` + org.label-schema.name="Drone ACR" ` + org.label-schema.vendor="Drone.IO Community" ` + org.label-schema.schema-version="1.0" + +ADD release/windows/amd64/drone-acr.exe C:/bin/drone-acr.exe +ENTRYPOINT [ "C:\\bin\\drone-acr.exe" ] diff --git a/docker/acr/manifest.tmpl b/docker/acr/manifest.tmpl index d3bfb93..06913c2 100644 --- a/docker/acr/manifest.tmpl +++ b/docker/acr/manifest.tmpl @@ -29,3 +29,9 @@ manifests: architecture: amd64 os: windows version: ltsc2022 + - + image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2025-amd64 + platform: + architecture: amd64 + os: windows + version: ltsc2025 diff --git a/docker/docker/Dockerfile.windows.amd64.ltsc2025 b/docker/docker/Dockerfile.windows.amd64.ltsc2025 new file mode 100644 index 0000000..d91895d --- /dev/null +++ b/docker/docker/Dockerfile.windows.amd64.ltsc2025 @@ -0,0 +1,36 @@ +# escape=` +FROM mcr.microsoft.com/windows/servercore:ltsc2025 as download + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +# Modernized for ltsc2025: fetch the standalone Docker CLI matching the daemon +# generation used on Windows Server 2025 hosts (28.x). Replaces the 1809/ltsc2022 +# pattern of extracting docker.exe from DockerToolbox 19.03.1 via innoextract. +ENV DOCKER_VERSION 28.4.0 + +RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; ` + Invoke-WebRequest -UseBasicParsing ` + $('https://download.docker.com/win/static/stable/x86_64/docker-{0}.zip' -f $env:DOCKER_VERSION) ` + -OutFile docker.zip ; ` + Expand-Archive docker.zip -DestinationPath C:\ ; ` + Remove-Item docker.zip + +FROM mcr.microsoft.com/windows/nanoserver:ltsc2025 +USER ContainerAdministrator + +LABEL maintainer="Drone.IO Community " ` + org.label-schema.name="Drone Docker" ` + org.label-schema.vendor="Drone.IO Community" ` + org.label-schema.schema-version="1.0" + +RUN mkdir C:\bin + +# Install cosign for container image signing +ADD https://github.com/sigstore/cosign/releases/download/v2.5.3/cosign-windows-amd64.exe C:/bin/cosign.exe + +# nanoserver:ltsc2025 ships netapi32.dll natively (unlike 1809/ltsc2022 where we +# had to copy it in from servercore). Overwriting the ltsc2025 copy fails with +# "Access is denied" because system32 files are locked, so we skip that COPY. +COPY --from=download /docker/docker.exe C:/bin/docker.exe +ADD release/windows/amd64/drone-docker.exe C:/bin/drone-docker.exe +ENTRYPOINT [ "C:\\bin\\drone-docker.exe" ] diff --git a/docker/docker/manifest.tmpl b/docker/docker/manifest.tmpl index ac65caf..9e33fd2 100644 --- a/docker/docker/manifest.tmpl +++ b/docker/docker/manifest.tmpl @@ -29,3 +29,9 @@ manifests: architecture: amd64 os: windows version: ltsc2022 + - + image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2025-amd64 + platform: + architecture: amd64 + os: windows + version: ltsc2025 diff --git a/docker/ecr/Dockerfile.windows.amd64.ltsc2025 b/docker/ecr/Dockerfile.windows.amd64.ltsc2025 new file mode 100644 index 0000000..f402a74 --- /dev/null +++ b/docker/ecr/Dockerfile.windows.amd64.ltsc2025 @@ -0,0 +1,10 @@ +# escape=` +FROM plugins/docker:windows-ltsc2025-amd64 + +LABEL maintainer="Drone.IO Community " ` + org.label-schema.name="Drone ECR" ` + org.label-schema.vendor="Drone.IO Community" ` + org.label-schema.schema-version="1.0" + +ADD release/windows/amd64/drone-ecr.exe C:/bin/drone-ecr.exe +ENTRYPOINT [ "C:\\bin\\drone-ecr.exe" ] diff --git a/docker/ecr/manifest.tmpl b/docker/ecr/manifest.tmpl index a97f75d..2194fe0 100644 --- a/docker/ecr/manifest.tmpl +++ b/docker/ecr/manifest.tmpl @@ -29,3 +29,9 @@ manifests: architecture: amd64 os: windows version: ltsc2022 + - + image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2025-amd64 + platform: + architecture: amd64 + os: windows + version: ltsc2025 diff --git a/docker/gar/Dockerfile.windows.amd64.ltsc2025 b/docker/gar/Dockerfile.windows.amd64.ltsc2025 new file mode 100644 index 0000000..43fc94b --- /dev/null +++ b/docker/gar/Dockerfile.windows.amd64.ltsc2025 @@ -0,0 +1,10 @@ +# escape=` +FROM plugins/docker:windows-ltsc2025-amd64 + +LABEL maintainer="Drone.IO Community " ` + org.label-schema.name="Drone GAR" ` + org.label-schema.vendor="Drone.IO Community" ` + org.label-schema.schema-version="1.0" + +ADD release/windows/amd64/drone-gar.exe C:/bin/drone-gar.exe +ENTRYPOINT [ "C:\\bin\\drone-gar.exe" ] diff --git a/docker/gar/manifest.tmpl b/docker/gar/manifest.tmpl index 8946956..7b914ce 100644 --- a/docker/gar/manifest.tmpl +++ b/docker/gar/manifest.tmpl @@ -29,3 +29,9 @@ manifests: architecture: amd64 os: windows version: ltsc2022 + - + image: plugins/gar:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2025-amd64 + platform: + architecture: amd64 + os: windows + version: ltsc2025 diff --git a/docker/gcr/Dockerfile.windows.amd64.ltsc2025 b/docker/gcr/Dockerfile.windows.amd64.ltsc2025 new file mode 100644 index 0000000..dc20d0f --- /dev/null +++ b/docker/gcr/Dockerfile.windows.amd64.ltsc2025 @@ -0,0 +1,10 @@ +# escape=` +FROM plugins/docker:windows-ltsc2025-amd64 + +LABEL maintainer="Drone.IO Community " ` + org.label-schema.name="Drone GCR" ` + org.label-schema.vendor="Drone.IO Community" ` + org.label-schema.schema-version="1.0" + +ADD release/windows/amd64/drone-gcr.exe C:/bin/drone-gcr.exe +ENTRYPOINT [ "C:\\bin\\drone-gcr.exe" ] diff --git a/docker/gcr/manifest.tmpl b/docker/gcr/manifest.tmpl index c2a60c8..ec98187 100644 --- a/docker/gcr/manifest.tmpl +++ b/docker/gcr/manifest.tmpl @@ -29,3 +29,9 @@ manifests: architecture: amd64 os: windows version: ltsc2022 + - + image: plugins/gcr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2025-amd64 + platform: + architecture: amd64 + os: windows + version: ltsc2025