mirror of
https://github.com/drone-plugins/drone-docker.git
synced 2026-06-04 18:24:24 +08:00
(maint) move to harness.drone.io (#381)
* (maint) move to harness.drone.io * simplify windows builds
This commit is contained in:
@@ -1,50 +0,0 @@
|
|||||||
local pipeline = import 'pipeline.libsonnet';
|
|
||||||
|
|
||||||
[
|
|
||||||
pipeline.test('linux', 'amd64'),
|
|
||||||
|
|
||||||
pipeline.build('docker', 'linux', 'amd64'),
|
|
||||||
pipeline.build('docker', 'linux', 'arm64'),
|
|
||||||
pipeline.build('docker', 'linux', 'arm'),
|
|
||||||
pipeline.notifications('docker', depends_on=[
|
|
||||||
'linux-amd64',
|
|
||||||
'linux-arm64',
|
|
||||||
'linux-arm',
|
|
||||||
]),
|
|
||||||
|
|
||||||
pipeline.build('gcr', 'linux', 'amd64'),
|
|
||||||
pipeline.build('gcr', 'linux', 'arm64'),
|
|
||||||
pipeline.build('gcr', 'linux', 'arm'),
|
|
||||||
pipeline.notifications('gcr', depends_on=[
|
|
||||||
'linux-amd64',
|
|
||||||
'linux-arm64',
|
|
||||||
'linux-arm',
|
|
||||||
]),
|
|
||||||
|
|
||||||
pipeline.build('acr', 'linux', 'amd64'),
|
|
||||||
pipeline.build('acr', 'linux', 'arm64'),
|
|
||||||
pipeline.build('acr', 'linux', 'arm'),
|
|
||||||
pipeline.notifications('acr', depends_on=[
|
|
||||||
'linux-amd64',
|
|
||||||
'linux-arm64',
|
|
||||||
'linux-arm',
|
|
||||||
]),
|
|
||||||
|
|
||||||
pipeline.build('ecr', 'linux', 'amd64'),
|
|
||||||
pipeline.build('ecr', 'linux', 'arm64'),
|
|
||||||
pipeline.build('ecr', 'linux', 'arm'),
|
|
||||||
pipeline.notifications('ecr', depends_on=[
|
|
||||||
'linux-amd64',
|
|
||||||
'linux-arm64',
|
|
||||||
'linux-arm',
|
|
||||||
]),
|
|
||||||
|
|
||||||
pipeline.build('heroku', 'linux', 'amd64'),
|
|
||||||
pipeline.build('heroku', 'linux', 'arm64'),
|
|
||||||
pipeline.build('heroku', 'linux', 'arm'),
|
|
||||||
pipeline.notifications('heroku', depends_on=[
|
|
||||||
'linux-amd64',
|
|
||||||
'linux-arm64',
|
|
||||||
'linux-arm',
|
|
||||||
]),
|
|
||||||
]
|
|
||||||
+710
-904
File diff suppressed because it is too large
Load Diff
@@ -1,4 +0,0 @@
|
|||||||
FROM plugins/docker:linux-arm
|
|
||||||
|
|
||||||
ADD release/linux/arm/drone-acr /bin/
|
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-acr"]
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# escape=`
|
|
||||||
FROM plugins/docker:windows-1909-amd64
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
|
||||||
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" ]
|
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
# escape=`
|
# escape=`
|
||||||
FROM plugins/docker:windows-1803-amd64
|
FROM plugins/docker:windows-ltsc2022-amd64
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
||||||
org.label-schema.name="Drone ACR" `
|
org.label-schema.name="Drone ACR" `
|
||||||
@@ -17,18 +17,6 @@ manifests:
|
|||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v8
|
variant: v8
|
||||||
-
|
|
||||||
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
-
|
|
||||||
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1803-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1803
|
|
||||||
-
|
-
|
||||||
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
||||||
platform:
|
platform:
|
||||||
@@ -36,14 +24,8 @@ manifests:
|
|||||||
os: windows
|
os: windows
|
||||||
version: 1809
|
version: 1809
|
||||||
-
|
-
|
||||||
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1903-amd64
|
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2022-amd64
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: windows
|
os: windows
|
||||||
version: 1903
|
version: ltsc2022
|
||||||
-
|
|
||||||
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1909-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1909
|
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
FROM arm32v6/docker:19.03.8-dind
|
|
||||||
|
|
||||||
ENV DOCKER_HOST=unix:///var/run/docker.sock
|
|
||||||
|
|
||||||
RUN apk --update add --virtual .build-deps curl && \
|
|
||||||
mkdir -p /etc/docker/ && \
|
|
||||||
curl -SsL -o /etc/docker/default.json https://raw.githubusercontent.com/moby/moby/19.03/profiles/seccomp/default.json && \
|
|
||||||
sed -i 's/SCMP_ACT_ERRNO/SCMP_ACT_TRACE/g' /etc/docker/default.json && \
|
|
||||||
chmod 600 /etc/docker/default.json && \
|
|
||||||
apk del .build-deps && \
|
|
||||||
rm -rf /var/cache/apk/* && \
|
|
||||||
rm -rf /tmp/*
|
|
||||||
|
|
||||||
ADD release/linux/arm/drone-docker /bin/
|
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
# escape=`
|
|
||||||
FROM mcr.microsoft.com/windows/servercore:1803 as download
|
|
||||||
|
|
||||||
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
|
||||||
|
|
||||||
ENV DOCKER_VERSION 18.09.1
|
|
||||||
|
|
||||||
RUN Invoke-WebRequest 'http://constexpr.org/innoextract/files/innoextract-1.6-windows.zip' -OutFile 'innoextract.zip' -UseBasicParsing ; `
|
|
||||||
Expand-Archive innoextract.zip -DestinationPath C:\ ; `
|
|
||||||
Remove-Item -Path innoextract.zip
|
|
||||||
|
|
||||||
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; `
|
|
||||||
Invoke-WebRequest $('https://github.com/docker/toolbox/releases/download/v{0}/DockerToolbox-{0}.exe' -f $env:DOCKER_VERSION) -OutFile 'dockertoolbox.exe' -UseBasicParsing
|
|
||||||
RUN /innoextract.exe dockertoolbox.exe
|
|
||||||
|
|
||||||
FROM plugins/base:windows-1803
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
|
||||||
org.label-schema.name="Drone Docker" `
|
|
||||||
org.label-schema.vendor="Drone.IO Community" `
|
|
||||||
org.label-schema.schema-version="1.0"
|
|
||||||
|
|
||||||
COPY --from=download /windows/system32/netapi32.dll /windows/system32/netapi32.dll
|
|
||||||
COPY --from=download /app/docker.exe C:/bin/docker.exe
|
|
||||||
ADD release/windows/amd64/drone-docker.exe C:/bin/drone-docker.exe
|
|
||||||
ENTRYPOINT [ "C:\\bin\\drone-docker.exe" ]
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# escape=`
|
|
||||||
FROM mcr.microsoft.com/windows/servercore:1909 as download
|
|
||||||
|
|
||||||
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
|
||||||
|
|
||||||
ENV DOCKER_VERSION 19.03.1
|
|
||||||
|
|
||||||
RUN Invoke-WebRequest 'http://constexpr.org/innoextract/files/innoextract-1.7-windows.zip' -OutFile 'innoextract.zip' -UseBasicParsing ; `
|
|
||||||
Expand-Archive innoextract.zip -DestinationPath C:\ ; `
|
|
||||||
Remove-Item -Path innoextract.zip
|
|
||||||
|
|
||||||
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; `
|
|
||||||
Invoke-WebRequest $('https://github.com/docker/toolbox/releases/download/v{0}/DockerToolbox-{0}.exe' -f $env:DOCKER_VERSION) -OutFile 'dockertoolbox.exe' -UseBasicParsing
|
|
||||||
RUN /innoextract.exe dockertoolbox.exe
|
|
||||||
|
|
||||||
FROM mcr.microsoft.com/windows/nanoserver:1909
|
|
||||||
USER ContainerAdministrator
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
|
||||||
org.label-schema.name="Drone Docker" `
|
|
||||||
org.label-schema.vendor="Drone.IO Community" `
|
|
||||||
org.label-schema.schema-version="1.0"
|
|
||||||
|
|
||||||
RUN mkdir C:\bin
|
|
||||||
COPY --from=download /windows/system32/netapi32.dll /windows/system32/netapi32.dll
|
|
||||||
COPY --from=download /app/docker.exe C:/bin/docker.exe
|
|
||||||
ADD release/windows/amd64/drone-docker.exe C:/bin/drone-docker.exe
|
|
||||||
ENTRYPOINT [ "C:\\bin\\drone-docker.exe" ]
|
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
# escape=`
|
# escape=`
|
||||||
FROM mcr.microsoft.com/windows/servercore:1903 as download
|
FROM mcr.microsoft.com/windows/servercore:ltsc2022 as download
|
||||||
|
|
||||||
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl
|
|||||||
Invoke-WebRequest $('https://github.com/docker/toolbox/releases/download/v{0}/DockerToolbox-{0}.exe' -f $env:DOCKER_VERSION) -OutFile 'dockertoolbox.exe' -UseBasicParsing
|
Invoke-WebRequest $('https://github.com/docker/toolbox/releases/download/v{0}/DockerToolbox-{0}.exe' -f $env:DOCKER_VERSION) -OutFile 'dockertoolbox.exe' -UseBasicParsing
|
||||||
RUN /innoextract.exe dockertoolbox.exe
|
RUN /innoextract.exe dockertoolbox.exe
|
||||||
|
|
||||||
FROM mcr.microsoft.com/windows/nanoserver:1903
|
FROM mcr.microsoft.com/windows/nanoserver:ltsc2022
|
||||||
USER ContainerAdministrator
|
USER ContainerAdministrator
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
||||||
@@ -17,36 +17,12 @@ manifests:
|
|||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v8
|
variant: v8
|
||||||
-
|
|
||||||
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
-
|
|
||||||
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1803-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1803
|
|
||||||
-
|
-
|
||||||
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: windows
|
os: windows
|
||||||
version: 1809
|
version: 1809
|
||||||
-
|
|
||||||
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1903-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1903
|
|
||||||
-
|
|
||||||
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1909-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1909
|
|
||||||
-
|
-
|
||||||
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2022-amd64
|
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2022-amd64
|
||||||
platform:
|
platform:
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
FROM plugins/docker:linux-arm
|
|
||||||
|
|
||||||
ADD release/linux/arm/drone-ecr /bin/
|
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-ecr"]
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# escape=`
|
|
||||||
FROM plugins/docker:windows-1803-amd64
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
|
||||||
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" ]
|
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
# escape=`
|
# escape=`
|
||||||
FROM plugins/docker:windows-1909-amd64
|
FROM plugins/docker:windows-ltsc2022-amd64
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
||||||
org.label-schema.name="Drone ECR" `
|
org.label-schema.name="Drone ECR" `
|
||||||
@@ -17,18 +17,6 @@ manifests:
|
|||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v8
|
variant: v8
|
||||||
-
|
|
||||||
image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
-
|
|
||||||
image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1803-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1803
|
|
||||||
-
|
-
|
||||||
image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
||||||
platform:
|
platform:
|
||||||
@@ -36,14 +24,8 @@ manifests:
|
|||||||
os: windows
|
os: windows
|
||||||
version: 1809
|
version: 1809
|
||||||
-
|
-
|
||||||
image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1903-amd64
|
image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2022-amd64
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: windows
|
os: windows
|
||||||
version: 1903
|
version: ltsc2022
|
||||||
-
|
|
||||||
image: plugins/ecr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1909-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1909
|
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
FROM plugins/docker:linux-arm
|
|
||||||
|
|
||||||
ADD release/linux/arm/drone-gcr /bin/
|
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-gcr"]
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# escape=`
|
|
||||||
FROM plugins/docker:windows-1909-amd64
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
|
||||||
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" ]
|
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
# escape=`
|
# escape=`
|
||||||
FROM plugins/docker:windows-1803-amd64
|
FROM plugins/docker:windows-ltsc2022-amd64
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
||||||
org.label-schema.name="Drone GCR" `
|
org.label-schema.name="Drone GCR" `
|
||||||
@@ -17,18 +17,6 @@ manifests:
|
|||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v8
|
variant: v8
|
||||||
-
|
|
||||||
image: plugins/gcr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
-
|
|
||||||
image: plugins/gcr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1803-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1803
|
|
||||||
-
|
-
|
||||||
image: plugins/gcr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
image: plugins/gcr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
|
||||||
platform:
|
platform:
|
||||||
@@ -36,8 +24,8 @@ manifests:
|
|||||||
os: windows
|
os: windows
|
||||||
version: 1809
|
version: 1809
|
||||||
-
|
-
|
||||||
image: plugins/gcr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1909-amd64
|
image: plugins/gcr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2022-amd64
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: windows
|
os: windows
|
||||||
version: 1909
|
version: ltsc2022
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
FROM plugins/docker:linux-arm
|
|
||||||
|
|
||||||
ADD release/linux/arm/drone-heroku /bin/
|
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-heroku"]
|
|
||||||
@@ -17,9 +17,3 @@ manifests:
|
|||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v8
|
variant: v8
|
||||||
-
|
|
||||||
image: plugins/heroku:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
|
|||||||
@@ -1,206 +0,0 @@
|
|||||||
local windows_pipe = '\\\\\\\\.\\\\pipe\\\\docker_engine';
|
|
||||||
local windows_pipe_volume = 'docker_pipe';
|
|
||||||
local test_pipeline_name = 'testing';
|
|
||||||
|
|
||||||
local windows(os) = os == 'windows';
|
|
||||||
|
|
||||||
local golang_image(os, version) =
|
|
||||||
'golang:' + '1.13' + if windows(os) then '-windowsservercore-' + version else '';
|
|
||||||
|
|
||||||
{
|
|
||||||
test(os='linux', arch='amd64', version='')::
|
|
||||||
local is_windows = windows(os);
|
|
||||||
local golang = golang_image(os, version);
|
|
||||||
local volumes = if is_windows then [{name: 'gopath', path: 'C:\\\\gopath'}] else [{name: 'gopath', path: '/go',}];
|
|
||||||
{
|
|
||||||
kind: 'pipeline',
|
|
||||||
name: test_pipeline_name,
|
|
||||||
platform: {
|
|
||||||
os: os,
|
|
||||||
arch: arch,
|
|
||||||
version: if std.length(version) > 0 then version,
|
|
||||||
},
|
|
||||||
steps: [
|
|
||||||
{
|
|
||||||
name: 'vet',
|
|
||||||
image: golang,
|
|
||||||
pull: 'always',
|
|
||||||
environment: {
|
|
||||||
GO111MODULE: 'on',
|
|
||||||
},
|
|
||||||
commands: [
|
|
||||||
'go vet ./...',
|
|
||||||
],
|
|
||||||
volumes: volumes,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'test',
|
|
||||||
image: golang,
|
|
||||||
pull: 'always',
|
|
||||||
environment: {
|
|
||||||
GO111MODULE: 'on',
|
|
||||||
},
|
|
||||||
commands: [
|
|
||||||
'go test -cover ./...',
|
|
||||||
],
|
|
||||||
volumes: volumes,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
trigger: {
|
|
||||||
ref: [
|
|
||||||
'refs/heads/master',
|
|
||||||
'refs/tags/**',
|
|
||||||
'refs/pull/**',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
volumes: [{name: 'gopath', temp: {}}]
|
|
||||||
},
|
|
||||||
|
|
||||||
build(name, os='linux', arch='amd64', version='')::
|
|
||||||
local is_windows = windows(os);
|
|
||||||
local tag = if is_windows then os + '-' + version else os + '-' + arch;
|
|
||||||
local file_suffix = std.strReplace(tag, '-', '.');
|
|
||||||
local volumes = if is_windows then [{ name: windows_pipe_volume, path: windows_pipe }] else [];
|
|
||||||
local golang = golang_image(os, version);
|
|
||||||
local plugin_repo = 'plugins/' + name;
|
|
||||||
local extension = if is_windows then '.exe' else '';
|
|
||||||
local depends_on = if name == 'docker' then [test_pipeline_name] else [tag + '-docker'];
|
|
||||||
{
|
|
||||||
kind: 'pipeline',
|
|
||||||
name: tag + '-' + name,
|
|
||||||
platform: {
|
|
||||||
os: os,
|
|
||||||
arch: arch,
|
|
||||||
version: if std.length(version) > 0 then version,
|
|
||||||
},
|
|
||||||
steps: [
|
|
||||||
{
|
|
||||||
name: 'build-push',
|
|
||||||
image: golang,
|
|
||||||
pull: 'always',
|
|
||||||
environment: {
|
|
||||||
CGO_ENABLED: '0',
|
|
||||||
GO111MODULE: 'on',
|
|
||||||
},
|
|
||||||
commands: [
|
|
||||||
'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/' + os + '/' + arch + '/drone-' + name + extension + ' ./cmd/drone-' + name,
|
|
||||||
],
|
|
||||||
when: {
|
|
||||||
event: {
|
|
||||||
exclude: ['tag'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'build-tag',
|
|
||||||
image: golang,
|
|
||||||
pull: 'always',
|
|
||||||
environment: {
|
|
||||||
CGO_ENABLED: '0',
|
|
||||||
GO111MODULE: 'on',
|
|
||||||
},
|
|
||||||
commands: [
|
|
||||||
'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/' + os + '/' + arch + '/drone-' + name + extension + ' ./cmd/drone-' + name,
|
|
||||||
],
|
|
||||||
when: {
|
|
||||||
event: ['tag'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
if name == "docker" then {
|
|
||||||
name: 'executable',
|
|
||||||
image: golang,
|
|
||||||
pull: 'always',
|
|
||||||
commands: [
|
|
||||||
'./release/' + os + '/' + arch + '/drone-' + name + extension + ' --help',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'dryrun',
|
|
||||||
image: 'plugins/docker:' + tag,
|
|
||||||
pull: 'always',
|
|
||||||
settings: {
|
|
||||||
dry_run: true,
|
|
||||||
tags: tag,
|
|
||||||
dockerfile: 'docker/'+ name +'/Dockerfile.' + file_suffix,
|
|
||||||
daemon_off: if is_windows then 'true' else 'false',
|
|
||||||
repo: plugin_repo,
|
|
||||||
username: { from_secret: 'docker_username' },
|
|
||||||
password: { from_secret: 'docker_password' },
|
|
||||||
},
|
|
||||||
volumes: if std.length(volumes) > 0 then volumes,
|
|
||||||
when: {
|
|
||||||
event: ['pull_request'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'publish',
|
|
||||||
image: 'plugins/docker:' + tag,
|
|
||||||
pull: 'always',
|
|
||||||
settings: {
|
|
||||||
auto_tag: true,
|
|
||||||
auto_tag_suffix: tag,
|
|
||||||
daemon_off: if is_windows then 'true' else 'false',
|
|
||||||
dockerfile: 'docker/' + name + '/Dockerfile.' + file_suffix,
|
|
||||||
repo: plugin_repo,
|
|
||||||
username: { from_secret: 'docker_username' },
|
|
||||||
password: { from_secret: 'docker_password' },
|
|
||||||
},
|
|
||||||
volumes: if std.length(volumes) > 0 then volumes,
|
|
||||||
when: {
|
|
||||||
event: {
|
|
||||||
exclude: ['pull_request'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
trigger: {
|
|
||||||
ref: [
|
|
||||||
'refs/heads/master',
|
|
||||||
'refs/tags/**',
|
|
||||||
'refs/pull/**',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
depends_on: depends_on,
|
|
||||||
volumes: if is_windows then [{ name: windows_pipe_volume, host: { path: windows_pipe } }],
|
|
||||||
},
|
|
||||||
|
|
||||||
notifications(name, os='linux', arch='amd64', version='', depends_on=[])::
|
|
||||||
{
|
|
||||||
kind: 'pipeline',
|
|
||||||
name: 'notifications-' + name,
|
|
||||||
platform: {
|
|
||||||
os: os,
|
|
||||||
arch: arch,
|
|
||||||
version: if std.length(version) > 0 then version,
|
|
||||||
},
|
|
||||||
steps: [
|
|
||||||
{
|
|
||||||
name: 'manifest',
|
|
||||||
image: 'plugins/manifest',
|
|
||||||
pull: 'always',
|
|
||||||
settings: {
|
|
||||||
username: { from_secret: 'docker_username' },
|
|
||||||
password: { from_secret: 'docker_password' },
|
|
||||||
spec: 'docker/' + name + '/manifest.tmpl',
|
|
||||||
ignore_missing: true,
|
|
||||||
auto_tag: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'microbadger',
|
|
||||||
image: 'plugins/webhook',
|
|
||||||
pull: 'always',
|
|
||||||
settings: {
|
|
||||||
urls: { from_secret: 'microbadger_' + name },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
depends_on: [x + '-' + name for x in depends_on],
|
|
||||||
trigger: {
|
|
||||||
ref: [
|
|
||||||
'refs/heads/master',
|
|
||||||
'refs/tags/**',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user