(maint) move to harness.drone.io
This commit is contained in:
parent
e1d38a4009
commit
463233b421
11 changed files with 236 additions and 817 deletions
|
|
@ -1,14 +0,0 @@
|
||||||
local pipeline = import 'pipeline.libsonnet';
|
|
||||||
local name = 'drone-hugo';
|
|
||||||
|
|
||||||
[
|
|
||||||
pipeline.test('linux', 'amd64'),
|
|
||||||
pipeline.build(name, 'linux', 'amd64'),
|
|
||||||
pipeline.build(name, 'linux', 'arm64'),
|
|
||||||
pipeline.build(name, 'linux', 'arm'),
|
|
||||||
pipeline.notifications(depends_on=[
|
|
||||||
'linux-amd64',
|
|
||||||
'linux-arm64',
|
|
||||||
'linux-arm',
|
|
||||||
]),
|
|
||||||
]
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
local pipeline = import 'pipeline.libsonnet';
|
|
||||||
local name = 'drone-hugo';
|
|
||||||
|
|
||||||
[
|
|
||||||
pipeline.test('windows', 'amd64', '1803'),
|
|
||||||
pipeline.build(name, 'windows', 'amd64', '1803'),
|
|
||||||
pipeline.build(name, 'windows', 'amd64', '1809'),
|
|
||||||
pipeline.notifications('windows', 'amd64', '1809', ['windows-1803', 'windows-1809']),
|
|
||||||
]
|
|
||||||
|
|
@ -1,272 +0,0 @@
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: testing
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: windows
|
|
||||||
arch: amd64
|
|
||||||
version: 1803
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: vet
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- go vet ./...
|
|
||||||
environment:
|
|
||||||
GO111MODULE: on
|
|
||||||
volumes:
|
|
||||||
- name: gopath
|
|
||||||
path: C:\\gopath
|
|
||||||
|
|
||||||
- name: test
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- go test -cover ./...
|
|
||||||
environment:
|
|
||||||
GO111MODULE: on
|
|
||||||
volumes:
|
|
||||||
- name: gopath
|
|
||||||
path: C:\\gopath
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: gopath
|
|
||||||
temp: {}
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
- "refs/pull/**"
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: windows-1803
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: windows
|
|
||||||
arch: amd64
|
|
||||||
version: 1803
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-push
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- ./release/windows/amd64/drone-hugo.exe --help
|
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:windows-1803
|
|
||||||
settings:
|
|
||||||
daemon_off: true
|
|
||||||
dockerfile: docker/Dockerfile.windows.1803
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
tags: windows-1803
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
volumes:
|
|
||||||
- name: docker_pipe
|
|
||||||
path: \\\\.\\pipe\\docker_engine
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:windows-1803
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: windows-1803
|
|
||||||
daemon_off: true
|
|
||||||
dockerfile: docker/Dockerfile.windows.1803
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
volumes:
|
|
||||||
- name: docker_pipe
|
|
||||||
path: \\\\.\\pipe\\docker_engine
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_pipe
|
|
||||||
host:
|
|
||||||
path: \\\\.\\pipe\\docker_engine
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
- "refs/pull/**"
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: windows-1809
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: windows
|
|
||||||
arch: amd64
|
|
||||||
version: 1809
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-push
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1809
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1809
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-hugo.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14-windowsservercore-1809
|
|
||||||
commands:
|
|
||||||
- ./release/windows/amd64/drone-hugo.exe --help
|
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:windows-1809
|
|
||||||
settings:
|
|
||||||
daemon_off: true
|
|
||||||
dockerfile: docker/Dockerfile.windows.1809
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
tags: windows-1809
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
volumes:
|
|
||||||
- name: docker_pipe
|
|
||||||
path: \\\\.\\pipe\\docker_engine
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:windows-1809
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: windows-1809
|
|
||||||
daemon_off: true
|
|
||||||
dockerfile: docker/Dockerfile.windows.1809
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
volumes:
|
|
||||||
- name: docker_pipe
|
|
||||||
path: \\\\.\\pipe\\docker_engine
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_pipe
|
|
||||||
host:
|
|
||||||
path: \\\\.\\pipe\\docker_engine
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
- "refs/pull/**"
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: notifications
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: windows
|
|
||||||
arch: amd64
|
|
||||||
version: 1809
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: manifest
|
|
||||||
pull: always
|
|
||||||
image: plugins/manifest
|
|
||||||
settings:
|
|
||||||
ignore_missing: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
spec: docker/manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
|
|
||||||
- name: microbadger
|
|
||||||
pull: always
|
|
||||||
image: plugins/webhook
|
|
||||||
settings:
|
|
||||||
url:
|
|
||||||
from_secret: microbadger_url
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- windows-1803
|
|
||||||
- windows-1809
|
|
||||||
|
|
||||||
...
|
|
||||||
476
.drone.yml
476
.drone.yml
|
|
@ -1,324 +1,254 @@
|
||||||
---
|
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
|
type: vm
|
||||||
name: testing
|
name: testing
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
pool:
|
||||||
|
use: ubuntu
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: vet
|
- name: lint
|
||||||
pull: always
|
image: golang:1.19
|
||||||
image: golang:1.14
|
pull: always
|
||||||
commands:
|
commands:
|
||||||
- go vet ./...
|
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||||
environment:
|
- golangci-lint version
|
||||||
GO111MODULE: on
|
- golangci-lint run
|
||||||
volumes:
|
volumes:
|
||||||
- name: gopath
|
- name: gopath
|
||||||
path: /go
|
path: "/go"
|
||||||
|
- name: test
|
||||||
- name: test
|
image: golang:1.19
|
||||||
pull: always
|
commands:
|
||||||
image: golang:1.14
|
- go test -cover ./...
|
||||||
commands:
|
volumes:
|
||||||
- go test -cover ./...
|
- name: gopath
|
||||||
environment:
|
path: "/go"
|
||||||
GO111MODULE: on
|
|
||||||
volumes:
|
|
||||||
- name: gopath
|
|
||||||
path: /go
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: gopath
|
- name: gopath
|
||||||
temp: {}
|
temp: {}
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
- "refs/tags/**"
|
- refs/tags/**
|
||||||
- "refs/pull/**"
|
- refs/pull/**
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
|
type: vm
|
||||||
name: linux-amd64
|
name: linux-amd64
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
pool:
|
||||||
|
use: ubuntu
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: environment
|
||||||
pull: always
|
image: golang:1.19
|
||||||
image: golang:1.14
|
pull: always
|
||||||
commands:
|
environment:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-hugo"
|
CGO_ENABLED: "0"
|
||||||
environment:
|
commands:
|
||||||
CGO_ENABLED: 0
|
- go version
|
||||||
GO111MODULE: on
|
- go env
|
||||||
when:
|
- name: build
|
||||||
event:
|
image: golang:1.19
|
||||||
exclude:
|
environment:
|
||||||
- tag
|
CGO_ENABLED: "0"
|
||||||
|
commands:
|
||||||
- name: build-tag
|
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/linux/amd64/drone-hugo .
|
||||||
pull: always
|
- name: docker
|
||||||
image: golang:1.14
|
image: plugins/docker
|
||||||
commands:
|
settings:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-hugo"
|
dockerfile: docker/Dockerfile.linux.amd64
|
||||||
environment:
|
repo: plugins/hugo
|
||||||
CGO_ENABLED: 0
|
username:
|
||||||
GO111MODULE: on
|
from_secret: docker_username
|
||||||
when:
|
password:
|
||||||
event:
|
from_secret: docker_password
|
||||||
- tag
|
auto_tag: true
|
||||||
|
auto_tag_suffix: linux-amd64
|
||||||
- name: executable
|
depends_on:
|
||||||
pull: always
|
- testing
|
||||||
image: golang:1.14
|
|
||||||
commands:
|
|
||||||
- ./release/linux/amd64/drone-hugo --help
|
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-amd64
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.amd64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
tags: linux-amd64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-amd64
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: linux-amd64
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.amd64
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
- "refs/tags/**"
|
- refs/tags/**
|
||||||
- "refs/pull/**"
|
- refs/pull/**
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
|
type: vm
|
||||||
name: linux-arm64
|
name: linux-arm64
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
pool:
|
||||||
|
use: ubuntu_arm64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: environment
|
||||||
pull: always
|
image: golang:1.19
|
||||||
image: golang:1.14
|
pull: always
|
||||||
commands:
|
environment:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-hugo"
|
CGO_ENABLED: "0"
|
||||||
environment:
|
commands:
|
||||||
CGO_ENABLED: 0
|
- go version
|
||||||
GO111MODULE: on
|
- go env
|
||||||
when:
|
- name: build
|
||||||
event:
|
image: golang:1.19
|
||||||
exclude:
|
environment:
|
||||||
- tag
|
CGO_ENABLED: "0"
|
||||||
|
commands:
|
||||||
- name: build-tag
|
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/linux/arm64/drone-hugo .
|
||||||
pull: always
|
- name: docker
|
||||||
image: golang:1.14
|
image: plugins/docker
|
||||||
commands:
|
settings:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-hugo"
|
dockerfile: docker/Dockerfile.linux.arm64
|
||||||
environment:
|
repo: plugins/hugo
|
||||||
CGO_ENABLED: 0
|
username:
|
||||||
GO111MODULE: on
|
from_secret: docker_username
|
||||||
when:
|
password:
|
||||||
event:
|
from_secret: docker_password
|
||||||
- tag
|
auto_tag: true
|
||||||
|
auto_tag_suffix: linux-arm64
|
||||||
- name: executable
|
depends_on:
|
||||||
pull: always
|
- testing
|
||||||
image: golang:1.14
|
|
||||||
commands:
|
|
||||||
- ./release/linux/arm64/drone-hugo --help
|
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-arm64
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.arm64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
tags: linux-arm64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-arm64
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: linux-arm64
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.arm64
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
- "refs/tags/**"
|
- refs/tags/**
|
||||||
- "refs/pull/**"
|
- refs/pull/**
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: linux-arm
|
type: vm
|
||||||
|
name: windows-1809
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: windows
|
||||||
arch: arm
|
arch: amd64
|
||||||
|
pool:
|
||||||
|
use: windows
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: environment
|
||||||
pull: always
|
image: golang:1.19
|
||||||
image: golang:1.14
|
pull: always
|
||||||
commands:
|
environment:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-hugo"
|
CGO_ENABLED: "0"
|
||||||
environment:
|
commands:
|
||||||
CGO_ENABLED: 0
|
- go version
|
||||||
GO111MODULE: on
|
- go env
|
||||||
when:
|
- name: build
|
||||||
event:
|
image: golang:1.19
|
||||||
exclude:
|
environment:
|
||||||
- tag
|
CGO_ENABLED: "0"
|
||||||
|
commands:
|
||||||
- name: build-tag
|
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/windows/amd64/drone-hugo.exe .
|
||||||
pull: always
|
- name: docker
|
||||||
image: golang:1.14
|
image: plugins/docker
|
||||||
commands:
|
settings:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-hugo"
|
dockerfile: docker/Dockerfile.windows.1809
|
||||||
environment:
|
repo: plugins/hugo
|
||||||
CGO_ENABLED: 0
|
username:
|
||||||
GO111MODULE: on
|
from_secret: docker_username
|
||||||
when:
|
password:
|
||||||
event:
|
from_secret: docker_password
|
||||||
- tag
|
auto_tag: true
|
||||||
|
auto_tag_suffix: windows-1809-amd64
|
||||||
- name: executable
|
daemon_off: true
|
||||||
pull: always
|
purge: false
|
||||||
image: golang:1.14
|
when:
|
||||||
commands:
|
ref:
|
||||||
- ./release/linux/arm/drone-hugo --help
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
- name: dryrun
|
depends_on:
|
||||||
pull: always
|
- testing
|
||||||
image: plugins/docker:linux-arm
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
tags: linux-arm
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-arm
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: linux-arm
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.arm
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/hugo
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
- "refs/tags/**"
|
- refs/tags/**
|
||||||
- "refs/pull/**"
|
- refs/pull/**
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: notifications
|
type: vm
|
||||||
|
name: windows-ltsc2022
|
||||||
|
platform:
|
||||||
|
os: windows
|
||||||
|
arch: amd64
|
||||||
|
pool:
|
||||||
|
use: windows-2022
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: environment
|
||||||
|
image: golang:1.19
|
||||||
|
pull: always
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: "0"
|
||||||
|
commands:
|
||||||
|
- go version
|
||||||
|
- go env
|
||||||
|
- name: build
|
||||||
|
image: golang:1.19
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: "0"
|
||||||
|
commands:
|
||||||
|
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/windows/amd64/drone-hugo.exe .
|
||||||
|
- name: docker
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
dockerfile: docker/Dockerfile.windows.ltsc2022
|
||||||
|
repo: plugins/hugo
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: windows-ltsc2022-amd64
|
||||||
|
daemon_off: true
|
||||||
|
purge: false
|
||||||
|
when:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
depends_on:
|
||||||
|
- testing
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
- refs/pull/**
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: vm
|
||||||
|
name: manifest
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
pool:
|
||||||
|
use: ubuntu
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: manifest
|
- name: manifest
|
||||||
pull: always
|
image: plugins/manifest
|
||||||
image: plugins/manifest
|
settings:
|
||||||
settings:
|
auto_tag: "true"
|
||||||
ignore_missing: true
|
username:
|
||||||
password:
|
from_secret: docker_username
|
||||||
from_secret: docker_password
|
password:
|
||||||
spec: docker/manifest.tmpl
|
from_secret: docker_password
|
||||||
username:
|
spec: docker/manifest.tmpl
|
||||||
from_secret: docker_username
|
ignore_missing: true
|
||||||
|
depends_on:
|
||||||
|
- linux-amd64
|
||||||
|
- linux-arm64
|
||||||
|
- windows-1809
|
||||||
|
- windows-ltsc2022
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
- "refs/tags/**"
|
- refs/tags/**
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linux-amd64
|
|
||||||
- linux-arm64
|
|
||||||
- linux-arm
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
FROM arm32v6/golang:1.14-alpine AS build
|
|
||||||
|
|
||||||
RUN apk add --no-cache git build-base && \
|
|
||||||
git clone --branch v0.70.0 https://github.com/gohugoio/hugo.git && \
|
|
||||||
cd hugo/ && \
|
|
||||||
CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo . && \
|
|
||||||
CGO_ENABLED=1 go build -tags extended -ldflags "-s -w -X github.com/gohugoio/hugo/common/hugo.buildDate=$(date +%Y-%m-%dT%H:%M:%SZ) -X github.com/gohugoio/hugo/common/hugo.commitHash=$(git rev-parse --short HEAD)" -o /tmp/hugo-extended
|
|
||||||
|
|
||||||
FROM plugins/base:linux-arm
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
|
||||||
org.label-schema.name="Drone Hugo" \
|
|
||||||
org.label-schema.vendor="Drone.IO Community" \
|
|
||||||
org.label-schema.schema-version="1.0"
|
|
||||||
|
|
||||||
RUN apk --no-cache add git libc6-compat libstdc++
|
|
||||||
|
|
||||||
ENV PLUGIN_HUGO_ARCH=arm
|
|
||||||
ENV PLUGIN_HUGO_SHIPPED_VERSION=0.70.0
|
|
||||||
|
|
||||||
COPY --from=build /tmp/hugo /bin/hugo
|
|
||||||
COPY --from=build /tmp/hugo-extended /bin/hugo-extended
|
|
||||||
|
|
||||||
ADD release/linux/arm/drone-hugo /bin/
|
|
||||||
ENTRYPOINT ["/bin/drone-hugo"]
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# escape=`
|
# escape=`
|
||||||
FROM plugins/base:windows-1803
|
FROM plugins/base: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 Mercurial" `
|
org.label-schema.name="Drone Mercurial" `
|
||||||
|
|
@ -17,21 +17,16 @@ manifests:
|
||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v8
|
variant: v8
|
||||||
-
|
|
||||||
image: plugins/hugo:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
-
|
|
||||||
image: plugins/hugo:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1803
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1803
|
|
||||||
-
|
-
|
||||||
image: plugins/hugo:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809
|
image: plugins/hugo:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: windows
|
os: windows
|
||||||
version: 1809
|
version: 1809
|
||||||
|
-
|
||||||
|
image: plugins/hugo:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-ltsc2022-amd64
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: windows
|
||||||
|
version: ltsc2022
|
||||||
|
|
||||||
|
|
@ -5,7 +5,6 @@ import (
|
||||||
"compress/gzip"
|
"compress/gzip"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
@ -54,7 +53,7 @@ func Get(version string, extended bool) (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.HasSuffix(h.Name, "hugo") {
|
if strings.HasSuffix(h.Name, "hugo") {
|
||||||
io.Copy(hugoBin, targz)
|
_, _ = io.Copy(hugoBin, targz)
|
||||||
|
|
||||||
if err := os.Chmod(hugoPath, 0755); err != nil {
|
if err := os.Chmod(hugoPath, 0755); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
|
@ -104,12 +103,12 @@ func download(version string, extended bool) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func tempfile() (string, io.WriteCloser, error) {
|
func tempfile() (string, io.WriteCloser, error) {
|
||||||
d, err := ioutil.TempDir("", "")
|
dName, err := os.MkdirTemp("", "hugo")
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", nil, err
|
return "", nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
f, err := ioutil.TempFile(d, "")
|
f, err := os.CreateTemp(dName, "")
|
||||||
return f.Name(), f, err
|
return f.Name(), f, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
go.mod
12
go.mod
|
|
@ -1,6 +1,14 @@
|
||||||
module github.com/drone-plugins/drone-hugo
|
module github.com/drone-plugins/drone-hugo
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/pkg/errors v0.8.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/urfave/cli v1.20.0
|
github.com/urfave/cli v1.22.10
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d // indirect
|
||||||
|
github.com/russross/blackfriday/v2 v2.0.1 // indirect
|
||||||
|
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
|
||||||
19
go.sum
19
go.sum
|
|
@ -1,4 +1,15 @@
|
||||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
|
||||||
github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
|
||||||
|
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
||||||
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
|
github.com/urfave/cli v1.22.10 h1:p8Fspmz3iTctJstry1PYS3HVdllxnEzTEsgIgtxTrCk=
|
||||||
|
github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
|
|
||||||
|
|
@ -1,204 +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.14' + 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/' + std.splitLimit(name, '-', 1)[1];
|
|
||||||
local extension = if is_windows then '.exe' else '';
|
|
||||||
{
|
|
||||||
kind: 'pipeline',
|
|
||||||
name: tag,
|
|
||||||
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 + '/' + name + extension,
|
|
||||||
],
|
|
||||||
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 + '/' + name + extension,
|
|
||||||
],
|
|
||||||
when: {
|
|
||||||
event: ['tag'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'executable',
|
|
||||||
image: golang,
|
|
||||||
pull: 'always',
|
|
||||||
commands: [
|
|
||||||
'./release/' + os + '/' + arch + '/' + name + extension + ' --help',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'dryrun',
|
|
||||||
image: 'plugins/docker:' + tag,
|
|
||||||
pull: 'always',
|
|
||||||
settings: {
|
|
||||||
dry_run: true,
|
|
||||||
tags: tag,
|
|
||||||
dockerfile: 'docker/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/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: [test_pipeline_name],
|
|
||||||
volumes: if is_windows then [{ name: windows_pipe_volume, host: { path: windows_pipe } }],
|
|
||||||
},
|
|
||||||
|
|
||||||
notifications(os='linux', arch='amd64', version='', depends_on=[])::
|
|
||||||
{
|
|
||||||
kind: 'pipeline',
|
|
||||||
name: 'notifications',
|
|
||||||
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/manifest.tmpl',
|
|
||||||
ignore_missing: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'microbadger',
|
|
||||||
image: 'plugins/webhook',
|
|
||||||
pull: 'always',
|
|
||||||
settings: {
|
|
||||||
url: { from_secret: 'microbadger_url' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
trigger: {
|
|
||||||
ref: [
|
|
||||||
'refs/heads/master',
|
|
||||||
'refs/tags/**',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
depends_on: depends_on,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue