Compare commits
No commits in common. "master" and "v1.0.0" have entirely different histories.
68
.appveyor.yml
Normal file
68
.appveyor.yml
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
version: '{build}'
|
||||||
|
image: 'Visual Studio 2017'
|
||||||
|
platform: 'x64'
|
||||||
|
|
||||||
|
clone_folder: 'c:\gopath\src\github.com\drone-plugins\drone-gitea-release'
|
||||||
|
max_jobs: 1
|
||||||
|
|
||||||
|
environment:
|
||||||
|
GOPATH: c:\gopath
|
||||||
|
DOCKER_USERNAME:
|
||||||
|
secure: '4YzzahbEiMZQJpOCOd1LAw=='
|
||||||
|
DOCKER_PASSWORD:
|
||||||
|
secure: 'VqO/G3Zfslu6zSLdwHKO+Q=='
|
||||||
|
|
||||||
|
install:
|
||||||
|
- ps: |
|
||||||
|
docker version
|
||||||
|
go version
|
||||||
|
- ps: |
|
||||||
|
$env:Path = "c:\gopath\bin;$env:Path"
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- ps: |
|
||||||
|
go get -u github.com/golang/dep/cmd/dep
|
||||||
|
dep ensure
|
||||||
|
|
||||||
|
if ( $env:APPVEYOR_REPO_TAG -eq 'false' ) {
|
||||||
|
go build -ldflags "-X main.build=$env:APPVEYOR_BUILD_VERSION" -a -o release/drone-gitea-release.exe
|
||||||
|
} else {
|
||||||
|
$version = $env:APPVEYOR_REPO_TAG_NAME.substring(1)
|
||||||
|
go build -ldflags "-X main.version=$version -X main.build=$env:APPVEYOR_BUILD_VERSION" -a -o release/drone-gitea-release.exe
|
||||||
|
}
|
||||||
|
|
||||||
|
docker pull microsoft/nanoserver:10.0.14393.1593
|
||||||
|
docker build -f Dockerfile.windows -t plugins/gitea-release:windows-amd64 .
|
||||||
|
|
||||||
|
test_script:
|
||||||
|
- ps: |
|
||||||
|
docker run --rm plugins/gitea-release:windows-amd64 --version
|
||||||
|
|
||||||
|
deploy_script:
|
||||||
|
- ps: |
|
||||||
|
$ErrorActionPreference = 'Stop';
|
||||||
|
|
||||||
|
if ( $env:APPVEYOR_PULL_REQUEST_NUMBER ) {
|
||||||
|
Write-Host Nothing to deploy.
|
||||||
|
} else {
|
||||||
|
docker login --username $env:DOCKER_USERNAME --password $env:DOCKER_PASSWORD
|
||||||
|
|
||||||
|
if ( $env:APPVEYOR_REPO_TAG -eq 'true' ) {
|
||||||
|
$major,$minor,$patch = $env:APPVEYOR_REPO_TAG_NAME.substring(1).split('.')
|
||||||
|
|
||||||
|
docker push plugins/gitea-release:windows-amd64
|
||||||
|
|
||||||
|
docker tag plugins/gitea-release:windows-amd64 plugins/gitea-release:$major.$minor.$patch-windows-amd64
|
||||||
|
docker push plugins/gitea-release:$major.$minor.$patch-windows-amd64
|
||||||
|
|
||||||
|
docker tag plugins/gitea-release:windows-amd64 plugins/gitea-release:$major.$minor-windows-amd64
|
||||||
|
docker push plugins/gitea-release:$major.$minor-windows-amd64
|
||||||
|
|
||||||
|
docker tag plugins/gitea-release:windows-amd64 plugins/gitea-release:$major-windows-amd64
|
||||||
|
docker push plugins/gitea-release:$major-windows-amd64
|
||||||
|
} else {
|
||||||
|
if ( $env:APPVEYOR_REPO_BRANCH -eq 'master' ) {
|
||||||
|
docker push plugins/gitea-release:windows-amd64
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,21 +0,0 @@
|
|||||||
kind: pipeline
|
|
||||||
name: default
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: r.pkg.cx/build/go:1.18
|
|
||||||
pull: true
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-gitea-release"
|
|
||||||
|
|
||||||
- name: docker
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
dockerfile: docker/Dockerfile.linux.amd64
|
|
||||||
registry: r.pkg.cx
|
|
||||||
repo: r.pkg.cx/drone/gitea-release
|
|
||||||
auto_tag: true
|
|
@ -1,14 +0,0 @@
|
|||||||
local pipeline = import 'pipeline.libsonnet';
|
|
||||||
local name = 'drone-gitea-release';
|
|
||||||
|
|
||||||
[
|
|
||||||
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-gitea-release';
|
|
||||||
|
|
||||||
[
|
|
||||||
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,273 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: testing
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: windows
|
|
||||||
arch: amd64
|
|
||||||
version: 1803
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: vet
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- go vet ./...
|
|
||||||
environment:
|
|
||||||
GO111MODULE: on
|
|
||||||
volumes:
|
|
||||||
- name: gopath
|
|
||||||
path: C:\\gopath
|
|
||||||
|
|
||||||
- name: test
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11-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.11-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-gitea-release.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-gitea-release.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11-windowsservercore-1803
|
|
||||||
commands:
|
|
||||||
- ./release/windows/amd64/drone-gitea-release.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/gitea-release
|
|
||||||
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/gitea-release
|
|
||||||
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.11-windowsservercore-1809
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-gitea-release.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11-windowsservercore-1809
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-gitea-release.exe"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11-windowsservercore-1809
|
|
||||||
commands:
|
|
||||||
- ./release/windows/amd64/drone-gitea-release.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/gitea-release
|
|
||||||
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/gitea-release
|
|
||||||
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:
|
|
||||||
auto_tag: true
|
|
||||||
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:
|
|
||||||
urls:
|
|
||||||
from_secret: microbadger_url
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- windows-1803
|
|
||||||
- windows-1809
|
|
||||||
|
|
||||||
...
|
|
422
.drone.yml
422
.drone.yml
@ -1,332 +1,148 @@
|
|||||||
---
|
workspace:
|
||||||
kind: pipeline
|
base: /go
|
||||||
name: testing
|
path: src/github.com/drone-plugins/drone-gitea-release
|
||||||
|
|
||||||
platform:
|
pipeline:
|
||||||
os: linux
|
deps:
|
||||||
arch: amd64
|
image: golang:1.10
|
||||||
|
pull: true
|
||||||
|
commands:
|
||||||
|
- go get -u github.com/golang/dep/cmd/dep
|
||||||
|
- dep ensure
|
||||||
|
|
||||||
steps:
|
test:
|
||||||
- name: vet
|
image: golang:1.10
|
||||||
pull: always
|
pull: true
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- go vet ./...
|
- go vet ./...
|
||||||
environment:
|
|
||||||
GO111MODULE: on
|
|
||||||
volumes:
|
|
||||||
- name: gopath
|
|
||||||
path: /go
|
|
||||||
|
|
||||||
- name: test
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
|
||||||
- go test -cover ./...
|
- go test -cover ./...
|
||||||
|
|
||||||
|
build_linux_amd64:
|
||||||
|
image: golang:1.10
|
||||||
|
pull: true
|
||||||
|
group: build
|
||||||
environment:
|
environment:
|
||||||
GO111MODULE: on
|
- GOOS=linux
|
||||||
volumes:
|
- GOARCH=amd64
|
||||||
- name: gopath
|
- CGO_ENABLED=0
|
||||||
path: /go
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: gopath
|
|
||||||
temp: {}
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
- "refs/pull/**"
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: linux-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-push
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-gitea-release"
|
- |
|
||||||
|
if test "${DRONE_TAG}" = ""; then
|
||||||
|
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-gitea-release
|
||||||
|
else
|
||||||
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-gitea-release
|
||||||
|
fi
|
||||||
|
|
||||||
|
build_linux_i386:
|
||||||
|
image: golang:1.10
|
||||||
|
pull: true
|
||||||
|
group: build
|
||||||
environment:
|
environment:
|
||||||
CGO_ENABLED: 0
|
- GOOS=linux
|
||||||
GO111MODULE: on
|
- GOARCH=386
|
||||||
when:
|
- CGO_ENABLED=0
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-gitea-release"
|
- |
|
||||||
|
if test "${DRONE_TAG}" = ""; then
|
||||||
|
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-gitea-release
|
||||||
|
else
|
||||||
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-gitea-release
|
||||||
|
fi
|
||||||
|
|
||||||
|
build_linux_arm64:
|
||||||
|
image: golang:1.10
|
||||||
|
pull: true
|
||||||
|
group: build
|
||||||
environment:
|
environment:
|
||||||
CGO_ENABLED: 0
|
- GOOS=linux
|
||||||
GO111MODULE: on
|
- GOARCH=arm64
|
||||||
when:
|
- CGO_ENABLED=0
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- ./release/linux/amd64/drone-gitea-release --help
|
- |
|
||||||
|
if test "${DRONE_TAG}" = ""; then
|
||||||
|
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-gitea-release
|
||||||
|
else
|
||||||
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-gitea-release
|
||||||
|
fi
|
||||||
|
|
||||||
- name: dryrun
|
build_linux_arm:
|
||||||
pull: always
|
image: golang:1.10
|
||||||
image: plugins/docker:linux-amd64
|
pull: true
|
||||||
settings:
|
group: build
|
||||||
daemon_off: false
|
environment:
|
||||||
dockerfile: docker/Dockerfile.linux.amd64
|
- GOOS=linux
|
||||||
dry_run: true
|
- GOARCH=arm
|
||||||
password:
|
- CGO_ENABLED=0
|
||||||
from_secret: docker_password
|
- GOARM=7
|
||||||
|
commands:
|
||||||
|
- |
|
||||||
|
if test "${DRONE_TAG}" = ""; then
|
||||||
|
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-gitea-release
|
||||||
|
else
|
||||||
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-gitea-release
|
||||||
|
fi
|
||||||
|
|
||||||
|
publish_linux_amd64:
|
||||||
|
image: plugins/docker:17.12
|
||||||
|
pull: true
|
||||||
|
secrets: [ docker_username, docker_password ]
|
||||||
|
group: docker
|
||||||
repo: plugins/gitea-release
|
repo: plugins/gitea-release
|
||||||
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: true
|
||||||
auto_tag_suffix: linux-amd64
|
auto_tag_suffix: linux-amd64
|
||||||
daemon_off: false
|
dockerfile: Dockerfile
|
||||||
dockerfile: docker/Dockerfile.linux.amd64
|
when:
|
||||||
password:
|
event: [ push, tag ]
|
||||||
from_secret: docker_password
|
|
||||||
|
publish_linux_i386:
|
||||||
|
image: plugins/docker:17.12
|
||||||
|
pull: true
|
||||||
|
secrets: [ docker_username, docker_password ]
|
||||||
|
group: docker
|
||||||
repo: plugins/gitea-release
|
repo: plugins/gitea-release
|
||||||
username:
|
auto_tag: true
|
||||||
from_secret: docker_username
|
auto_tag_suffix: linux-i386
|
||||||
|
dockerfile: Dockerfile.i386
|
||||||
when:
|
when:
|
||||||
event:
|
event: [ push, tag ]
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
trigger:
|
publish_linux_arm64:
|
||||||
ref:
|
image: plugins/docker:17.12
|
||||||
- refs/heads/master
|
pull: true
|
||||||
- "refs/tags/**"
|
secrets: [ docker_username, docker_password ]
|
||||||
- "refs/pull/**"
|
group: docker
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: linux-arm64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-push
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-gitea-release"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-gitea-release"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
|
||||||
- ./release/linux/arm64/drone-gitea-release --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/gitea-release
|
repo: plugins/gitea-release
|
||||||
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: true
|
||||||
auto_tag_suffix: linux-arm64
|
auto_tag_suffix: linux-arm64
|
||||||
daemon_off: false
|
dockerfile: Dockerfile.arm64
|
||||||
dockerfile: docker/Dockerfile.linux.arm64
|
when:
|
||||||
password:
|
event: [ push, tag ]
|
||||||
from_secret: docker_password
|
|
||||||
|
publish_linux_arm:
|
||||||
|
image: plugins/docker:17.12
|
||||||
|
pull: true
|
||||||
|
secrets: [ docker_username, docker_password ]
|
||||||
|
group: docker
|
||||||
repo: plugins/gitea-release
|
repo: plugins/gitea-release
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
- "refs/pull/**"
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: linux-arm
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-push
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-gitea-release"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-gitea-release"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
|
||||||
- ./release/linux/arm/drone-gitea-release --help
|
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-arm
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/gitea-release
|
|
||||||
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: true
|
||||||
auto_tag_suffix: linux-arm
|
auto_tag_suffix: linux-arm
|
||||||
daemon_off: false
|
dockerfile: Dockerfile.arm
|
||||||
dockerfile: docker/Dockerfile.linux.arm
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/gitea-release
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
when:
|
||||||
event:
|
event: [ push, tag ]
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
trigger:
|
manifests:
|
||||||
ref:
|
image: plugins/manifest:1
|
||||||
- refs/heads/master
|
pull: true
|
||||||
- "refs/tags/**"
|
secrets: [ docker_username, docker_password ]
|
||||||
- "refs/pull/**"
|
spec: manifest.tmpl
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: notifications
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: manifest
|
|
||||||
pull: always
|
|
||||||
image: plugins/manifest
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
ignore_missing: true
|
ignore_missing: true
|
||||||
password:
|
when:
|
||||||
from_secret: docker_password
|
event: [ push, tag ]
|
||||||
spec: docker/manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
|
|
||||||
- name: microbadger
|
microbadger:
|
||||||
pull: always
|
image: plugins/webhook:1
|
||||||
image: plugins/webhook
|
pull: true
|
||||||
settings:
|
secrets: [ webhook_url ]
|
||||||
urls:
|
when:
|
||||||
from_secret: microbadger_url
|
status: [ success ]
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/tags/**"
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linux-amd64
|
|
||||||
- linux-arm64
|
|
||||||
- linux-arm
|
|
||||||
|
|
||||||
...
|
|
||||||
|
9
.github/issue_template.md
vendored
9
.github/issue_template.md
vendored
@ -1,9 +0,0 @@
|
|||||||
<!-- PLEASE READ BEFORE DELETING
|
|
||||||
|
|
||||||
Bugs or Issues? Due to the high number of false positive issues we receive,
|
|
||||||
please do not create a GitHub issue until you have discussed and verified
|
|
||||||
with community support at:
|
|
||||||
|
|
||||||
https://discourse.drone.io/
|
|
||||||
|
|
||||||
-->
|
|
73
.github/settings.yml
vendored
73
.github/settings.yml
vendored
@ -1,73 +0,0 @@
|
|||||||
repository:
|
|
||||||
name: drone-gitea-release
|
|
||||||
description: Drone plugin for creating and tagging Gitea releases
|
|
||||||
homepage: http://plugins.drone.io/drone-plugins/drone-gitea-release
|
|
||||||
topics: drone, drone-plugin
|
|
||||||
|
|
||||||
private: false
|
|
||||||
has_issues: true
|
|
||||||
has_wiki: false
|
|
||||||
has_downloads: false
|
|
||||||
|
|
||||||
default_branch: master
|
|
||||||
|
|
||||||
allow_squash_merge: true
|
|
||||||
allow_merge_commit: true
|
|
||||||
allow_rebase_merge: true
|
|
||||||
|
|
||||||
labels:
|
|
||||||
- name: bug
|
|
||||||
color: d73a4a
|
|
||||||
description: Something isn't working
|
|
||||||
- name: duplicate
|
|
||||||
color: cfd3d7
|
|
||||||
description: This issue or pull request already exists
|
|
||||||
- name: enhancement
|
|
||||||
color: a2eeef
|
|
||||||
description: New feature or request
|
|
||||||
- name: good first issue
|
|
||||||
color: 7057ff
|
|
||||||
description: Good for newcomers
|
|
||||||
- name: help wanted
|
|
||||||
color: 008672
|
|
||||||
description: Extra attention is needed
|
|
||||||
- name: invalid
|
|
||||||
color: e4e669
|
|
||||||
description: This doesn't seem right
|
|
||||||
- name: question
|
|
||||||
color: d876e3
|
|
||||||
description: Further information is requested
|
|
||||||
- name: renovate
|
|
||||||
color: e99695
|
|
||||||
description: Automated action from Renovate
|
|
||||||
- name: wontfix
|
|
||||||
color: ffffff
|
|
||||||
description: This will not be worked on
|
|
||||||
|
|
||||||
teams:
|
|
||||||
- name: Admins
|
|
||||||
permission: admin
|
|
||||||
- name: Captain
|
|
||||||
permission: admin
|
|
||||||
- name: Maintainers
|
|
||||||
permission: push
|
|
||||||
|
|
||||||
branches:
|
|
||||||
- name: master
|
|
||||||
protection:
|
|
||||||
required_pull_request_reviews:
|
|
||||||
required_approving_review_count: 1
|
|
||||||
dismiss_stale_reviews: false
|
|
||||||
require_code_owner_reviews: false
|
|
||||||
dismissal_restrictions:
|
|
||||||
teams:
|
|
||||||
- Admins
|
|
||||||
- Captain
|
|
||||||
required_status_checks:
|
|
||||||
strict: true
|
|
||||||
contexts:
|
|
||||||
- continuous-integration/drone/pr
|
|
||||||
enforce_admins: false
|
|
||||||
restrictions:
|
|
||||||
users: []
|
|
||||||
teams: []
|
|
9
Dockerfile.i386
Normal file
9
Dockerfile.i386
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM plugins/base:multiarch
|
||||||
|
|
||||||
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
||||||
|
org.label-schema.name="Drone Gitea Release" \
|
||||||
|
org.label-schema.vendor="Drone.IO Community" \
|
||||||
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
|
ADD release/linux/i386/drone-gitea-release /bin/
|
||||||
|
ENTRYPOINT ["/bin/drone-gitea-release"]
|
12
Dockerfile.windows
Normal file
12
Dockerfile.windows
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# escape=`
|
||||||
|
FROM microsoft/nanoserver:10.0.14393.1593
|
||||||
|
|
||||||
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
||||||
|
org.label-schema.name="Drone Gitea Release" `
|
||||||
|
org.label-schema.vendor="Drone.IO Community" `
|
||||||
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
|
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
||||||
|
|
||||||
|
ADD release\drone-gitea-release.exe c:\drone-gitea-release.exe
|
||||||
|
ENTRYPOINT [ "c:\\drone-gitea-release.exe" ]
|
48
Gopkg.lock
generated
Normal file
48
Gopkg.lock
generated
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
|
||||||
|
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "code.gitea.io/sdk"
|
||||||
|
packages = ["gitea"]
|
||||||
|
revision = "fa91af7569e6ba34bfa382109847cbc79c3fdad8"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/Sirupsen/logrus"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc"
|
||||||
|
version = "v1.0.5"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/joho/godotenv"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "a79fa1e548e2c689c241d10173efd51e5d689d5b"
|
||||||
|
version = "v1.2.0"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/urfave/cli"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1"
|
||||||
|
version = "v1.20.0"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "golang.org/x/crypto"
|
||||||
|
packages = ["ssh/terminal"]
|
||||||
|
revision = "21652f85b0fdddb6c2b6b77a5beca5c5a908174a"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "golang.org/x/sys"
|
||||||
|
packages = [
|
||||||
|
"unix",
|
||||||
|
"windows"
|
||||||
|
]
|
||||||
|
revision = "cc7307a45468e49eaf2997c890f14aa03a26917b"
|
||||||
|
|
||||||
|
[solve-meta]
|
||||||
|
analyzer-name = "dep"
|
||||||
|
analyzer-version = 1
|
||||||
|
inputs-digest = "7cb00c5086c5910b3f5a952158b3c99e8a3c41acb235f0591f74545909a00d34"
|
||||||
|
solver-name = "gps-cdcl"
|
||||||
|
solver-version = 1
|
46
Gopkg.toml
Normal file
46
Gopkg.toml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Gopkg.toml example
|
||||||
|
#
|
||||||
|
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
|
||||||
|
# for detailed Gopkg.toml documentation.
|
||||||
|
#
|
||||||
|
# required = ["github.com/user/thing/cmd/thing"]
|
||||||
|
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
|
||||||
|
#
|
||||||
|
# [[constraint]]
|
||||||
|
# name = "github.com/user/project"
|
||||||
|
# version = "1.0.0"
|
||||||
|
#
|
||||||
|
# [[constraint]]
|
||||||
|
# name = "github.com/user/project2"
|
||||||
|
# branch = "dev"
|
||||||
|
# source = "github.com/myfork/project2"
|
||||||
|
#
|
||||||
|
# [[override]]
|
||||||
|
# name = "github.com/x/y"
|
||||||
|
# version = "2.4.0"
|
||||||
|
#
|
||||||
|
# [prune]
|
||||||
|
# non-go = false
|
||||||
|
# go-tests = true
|
||||||
|
# unused-packages = true
|
||||||
|
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
branch = "master"
|
||||||
|
name = "code.gitea.io/sdk"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
name = "github.com/Sirupsen/logrus"
|
||||||
|
version = "1.0.5"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
name = "github.com/joho/godotenv"
|
||||||
|
version = "1.2.0"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
name = "github.com/urfave/cli"
|
||||||
|
version = "1.20.0"
|
||||||
|
|
||||||
|
[prune]
|
||||||
|
go-tests = true
|
||||||
|
unused-packages = true
|
44
README.md
44
README.md
@ -1,50 +1,16 @@
|
|||||||
# drone-gitea-release
|
# drone-gitea-release
|
||||||
|
|
||||||
[](http://cloud.drone.io/drone-plugins/drone-gitea-release)
|
[](https://beta.drone.io/drone-plugins/drone-gitea-release)
|
||||||
[](https://gitter.im/drone/drone)
|
|
||||||
[](https://discourse.drone.io)
|
|
||||||
[](https://stackoverflow.com/questions/tagged/drone.io)
|
|
||||||
[](https://microbadger.com/images/plugins/gitea-release "Get your own image badge on microbadger.com")
|
|
||||||
[](http://godoc.org/github.com/drone-plugins/drone-gitea-release)
|
[](http://godoc.org/github.com/drone-plugins/drone-gitea-release)
|
||||||
[](https://goreportcard.com/report/github.com/drone-plugins/drone-gitea-release)
|
[](https://goreportcard.com/report/github.com/drone-plugins/drone-gitea-release)
|
||||||
|
|
||||||
Drone plugin to publish files and artifacts to Gitea release. For the usage information and a listing of the available options please take a look at [the docs](http://plugins.drone.io/drone-plugins/drone-gitea-release/).
|
Drone plugin to publish files and artifacts to Gitea Release.
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
Build the binary with the following command:
|
Build the binary with the following commands:
|
||||||
|
|
||||||
```console
|
|
||||||
export GOOS=linux
|
|
||||||
export GOARCH=amd64
|
|
||||||
export CGO_ENABLED=0
|
|
||||||
export GO111MODULE=on
|
|
||||||
|
|
||||||
go build -v -a -tags netgo -o release/linux/amd64/drone-gitea-release
|
|
||||||
```
|
```
|
||||||
|
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -a -tags netgo -o release/linux/amd64/drone-gitea-release
|
||||||
## Docker
|
docker build --rm -t plugins/gitea-release .
|
||||||
|
|
||||||
Build the Docker image with the following command:
|
|
||||||
|
|
||||||
```console
|
|
||||||
docker build \
|
|
||||||
--label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
|
||||||
--label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
|
|
||||||
--file docker/Dockerfile.linux.amd64 --tag plugins/gitea-release .
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```console
|
|
||||||
docker run --rm \
|
|
||||||
-e PLUGIN_BASE_URL=https://try.gitea.io \
|
|
||||||
-e PLUGIN_API_KEY=your-api-key \
|
|
||||||
-e PLUGIN_FILES=build/* \
|
|
||||||
-e DRONE_REPO_OWNER=gitea \
|
|
||||||
-e DRONE_REPO_NAME=test \
|
|
||||||
-e DRONE_BUILD_EVENT=tag \
|
|
||||||
-v $(pwd):$(pwd) \
|
|
||||||
-w $(pwd) \
|
|
||||||
plugins/gitea-release
|
|
||||||
```
|
```
|
@ -1,10 +0,0 @@
|
|||||||
# escape=`
|
|
||||||
FROM plugins/base:windows-1803
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
|
||||||
org.label-schema.name="Drone Gitea Release" `
|
|
||||||
org.label-schema.vendor="Drone.IO Community" `
|
|
||||||
org.label-schema.schema-version="1.0"
|
|
||||||
|
|
||||||
ADD release/windows/amd64/drone-gitea-release.exe C:/bin/drone-gitea-release.exe
|
|
||||||
ENTRYPOINT [ "C:\\bin\\drone-gitea-release.exe" ]
|
|
@ -1,10 +0,0 @@
|
|||||||
# escape=`
|
|
||||||
FROM plugins/base:windows-1809
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
|
||||||
org.label-schema.name="Drone Gitea Release" `
|
|
||||||
org.label-schema.vendor="Drone.IO Community" `
|
|
||||||
org.label-schema.schema-version="1.0"
|
|
||||||
|
|
||||||
ADD release/windows/amd64/drone-gitea-release.exe C:/bin/drone-gitea-release.exe
|
|
||||||
ENTRYPOINT [ "C:\\bin\\drone-gitea-release.exe" ]
|
|
@ -1,37 +0,0 @@
|
|||||||
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
|
||||||
{{#if build.tags}}
|
|
||||||
tags:
|
|
||||||
{{#each build.tags}}
|
|
||||||
- {{this}}
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
manifests:
|
|
||||||
-
|
|
||||||
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64
|
|
||||||
platform:
|
|
||||||
architecture: arm64
|
|
||||||
os: linux
|
|
||||||
variant: v8
|
|
||||||
-
|
|
||||||
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
-
|
|
||||||
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1803
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1803
|
|
||||||
-
|
|
||||||
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: windows
|
|
||||||
version: 1809
|
|
17
go.mod
17
go.mod
@ -1,17 +0,0 @@
|
|||||||
module github.com/drone-plugins/drone-gitea-release
|
|
||||||
|
|
||||||
go 1.14
|
|
||||||
|
|
||||||
require (
|
|
||||||
code.gitea.io/sdk v0.0.0-20180306012245-fa91af7569e6
|
|
||||||
github.com/Sirupsen/logrus v1.0.5
|
|
||||||
github.com/joho/godotenv v1.2.0
|
|
||||||
github.com/onsi/ginkgo v1.12.0 // indirect
|
|
||||||
github.com/onsi/gomega v1.10.0 // indirect
|
|
||||||
github.com/sirupsen/logrus v1.6.0 // indirect
|
|
||||||
github.com/stretchr/testify v1.5.1 // indirect
|
|
||||||
github.com/urfave/cli v1.20.0
|
|
||||||
golang.org/x/crypto v0.0.0-20180314180259-21652f85b0fd // indirect
|
|
||||||
gopkg.in/airbrake/gobrake.v2 v2.0.9 // indirect
|
|
||||||
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 // indirect
|
|
||||||
)
|
|
62
go.sum
62
go.sum
@ -1,62 +0,0 @@
|
|||||||
code.gitea.io/sdk v0.0.0-20180306012245-fa91af7569e6 h1:+7v/mFO/rvSm3V7eTMuO7ZovUE9fGDHdZPOGrGHg6G0=
|
|
||||||
code.gitea.io/sdk v0.0.0-20180306012245-fa91af7569e6/go.mod h1:5bZt0dRznpn2JysytQnV0yCru3FwDv9O5G91jo+lDAk=
|
|
||||||
github.com/Sirupsen/logrus v1.0.5 h1:447dy9LxSj+Iaa2uN3yoFHOzU9yJcJYiQPtNz8OXtv0=
|
|
||||||
github.com/Sirupsen/logrus v1.0.5/go.mod h1:rmk17hk6i8ZSAJkSDa7nOxamrG+SP4P0mm+DAvExv4U=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
|
||||||
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
|
|
||||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
||||||
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
|
||||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
|
||||||
github.com/joho/godotenv v1.2.0 h1:vGTvz69FzUFp+X4/bAkb0j5BoLC+9bpqTWY8mjhA9pc=
|
|
||||||
github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
|
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
|
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
|
||||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
|
||||||
github.com/onsi/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU=
|
|
||||||
github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
|
|
||||||
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
|
||||||
github.com/onsi/gomega v1.10.0 h1:Gwkk+PTu/nfOwNMtUB/mRUv0X7ewW5dO4AERT1ThVKo=
|
|
||||||
github.com/onsi/gomega v1.10.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA=
|
|
||||||
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/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
|
|
||||||
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
|
||||||
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
|
|
||||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
|
||||||
github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
|
|
||||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
|
||||||
golang.org/x/crypto v0.0.0-20180314180259-21652f85b0fd h1:cC/2DaX1wcQTuG22GhVYD0kedx0WJnOgKmrxsb3yS+4=
|
|
||||||
golang.org/x/crypto v0.0.0-20180314180259-21652f85b0fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
|
||||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd h1:nTDtHvHSdCn1m6ITfMRqtOd/9+7a3s8RBNOZ3eYZzJA=
|
|
||||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA=
|
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc=
|
|
||||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e h1:N7DeIrjYszNmSW409R3frPPwglRwMkXSBzwVbkOjLLA=
|
|
||||||
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
|
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
||||||
gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo=
|
|
||||||
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
|
||||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
|
||||||
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 h1:OAj3g0cR6Dx/R07QgQe8wkA9RNjB2u4i700xBkIT4e0=
|
|
||||||
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
|
|
||||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
|
||||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
||||||
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
|
||||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
18
main.go
18
main.go
@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/Sirupsen/logrus"
|
"github.com/Sirupsen/logrus"
|
||||||
@ -9,15 +10,16 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
version = "unknown"
|
version = "0.0.0"
|
||||||
|
build = "0"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
app := cli.NewApp()
|
app := cli.NewApp()
|
||||||
app.Name = "gitea-release plugin"
|
app.Name = "gitea-release plugin"
|
||||||
app.Usage = "gitea-release plugin"
|
app.Usage = "gitea-release plugin"
|
||||||
|
app.Version = fmt.Sprintf("%s+%s", version, build)
|
||||||
app.Action = run
|
app.Action = run
|
||||||
app.Version = version
|
|
||||||
app.Flags = []cli.Flag{
|
app.Flags = []cli.Flag{
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "api-key",
|
Name: "api-key",
|
||||||
@ -45,11 +47,6 @@ func main() {
|
|||||||
Usage: "create a draft release",
|
Usage: "create a draft release",
|
||||||
EnvVar: "PLUGIN_DRAFT,GITEA_RELEASE_DRAFT",
|
EnvVar: "PLUGIN_DRAFT,GITEA_RELEASE_DRAFT",
|
||||||
},
|
},
|
||||||
cli.BoolFlag{
|
|
||||||
Name: "insecure",
|
|
||||||
Usage: "visit base-url via insecure https protocol",
|
|
||||||
EnvVar: "PLUGIN_INSECURE,GITEA_RELEASE_INSECURE",
|
|
||||||
},
|
|
||||||
cli.BoolFlag{
|
cli.BoolFlag{
|
||||||
Name: "prerelease",
|
Name: "prerelease",
|
||||||
Usage: "set the release as prerelease",
|
Usage: "set the release as prerelease",
|
||||||
@ -82,11 +79,6 @@ func main() {
|
|||||||
Usage: "repository name",
|
Usage: "repository name",
|
||||||
EnvVar: "DRONE_REPO_NAME",
|
EnvVar: "DRONE_REPO_NAME",
|
||||||
},
|
},
|
||||||
cli.StringFlag{
|
|
||||||
Name: "repo.branch",
|
|
||||||
Usage: "repository branch",
|
|
||||||
EnvVar: "DRONE_REPO_BRANCH",
|
|
||||||
},
|
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "build.event",
|
Name: "build.event",
|
||||||
Value: "push",
|
Value: "push",
|
||||||
@ -119,7 +111,6 @@ func run(c *cli.Context) error {
|
|||||||
Repo: Repo{
|
Repo: Repo{
|
||||||
Owner: c.String("repo.owner"),
|
Owner: c.String("repo.owner"),
|
||||||
Name: c.String("repo.name"),
|
Name: c.String("repo.name"),
|
||||||
Branch: c.String("repo.branch"),
|
|
||||||
},
|
},
|
||||||
Build: Build{
|
Build: Build{
|
||||||
Event: c.String("build.event"),
|
Event: c.String("build.event"),
|
||||||
@ -135,7 +126,6 @@ func run(c *cli.Context) error {
|
|||||||
Draft: c.Bool("draft"),
|
Draft: c.Bool("draft"),
|
||||||
PreRelease: c.Bool("prerelease"),
|
PreRelease: c.Bool("prerelease"),
|
||||||
BaseURL: c.String("base-url"),
|
BaseURL: c.String("base-url"),
|
||||||
Insecure: c.Bool("insecure"),
|
|
||||||
Title: c.String("title"),
|
Title: c.String("title"),
|
||||||
Note: c.String("note"),
|
Note: c.String("note"),
|
||||||
},
|
},
|
||||||
|
33
manifest.tmpl
Normal file
33
manifest.tmpl
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix build.tag "v"}}{{else}}latest{{/if}}
|
||||||
|
{{#if build.tags}}
|
||||||
|
tags:
|
||||||
|
{{#each build.tags}}
|
||||||
|
- {{this}}
|
||||||
|
{{/each}}
|
||||||
|
{{/if}}
|
||||||
|
manifests:
|
||||||
|
-
|
||||||
|
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-amd64
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: linux
|
||||||
|
-
|
||||||
|
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-i386
|
||||||
|
platform:
|
||||||
|
architecture: 386
|
||||||
|
os: linux
|
||||||
|
-
|
||||||
|
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-arm64
|
||||||
|
platform:
|
||||||
|
architecture: arm64
|
||||||
|
os: linux
|
||||||
|
-
|
||||||
|
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-arm
|
||||||
|
platform:
|
||||||
|
architecture: arm
|
||||||
|
os: linux
|
||||||
|
-
|
||||||
|
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}windows-amd64
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: windows
|
@ -1,205 +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.11' + 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,
|
|
||||||
auto_tag: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'microbadger',
|
|
||||||
image: 'plugins/webhook',
|
|
||||||
pull: 'always',
|
|
||||||
settings: {
|
|
||||||
urls: { from_secret: 'microbadger_url' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
trigger: {
|
|
||||||
ref: [
|
|
||||||
'refs/heads/master',
|
|
||||||
'refs/tags/**',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
depends_on: depends_on,
|
|
||||||
},
|
|
||||||
}
|
|
40
plugin.go
40
plugin.go
@ -1,23 +1,19 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/tls"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"net/http/cookiejar"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"code.gitea.io/sdk/gitea"
|
"code.gitea.io/sdk/gitea"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
Repo struct {
|
Repo struct {
|
||||||
Owner string
|
Owner string
|
||||||
Name string
|
Name string
|
||||||
Branch string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Build struct {
|
Build struct {
|
||||||
@ -35,7 +31,6 @@ type (
|
|||||||
Checksum []string
|
Checksum []string
|
||||||
Draft bool
|
Draft bool
|
||||||
PreRelease bool
|
PreRelease bool
|
||||||
Insecure bool
|
|
||||||
BaseURL string
|
BaseURL string
|
||||||
Title string
|
Title string
|
||||||
Note string
|
Note string
|
||||||
@ -54,8 +49,8 @@ func (p Plugin) Exec() error {
|
|||||||
files []string
|
files []string
|
||||||
)
|
)
|
||||||
|
|
||||||
if p.Build.Event != "tag" && p.Repo.Branch != "master" {
|
if p.Build.Event != "tag" {
|
||||||
return fmt.Errorf("The Gitea Release plugin is only available for tags or master branch")
|
return fmt.Errorf("The Gitea Release plugin is only available for tags")
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.Config.APIKey == "" {
|
if p.Config.APIKey == "" {
|
||||||
@ -113,39 +108,16 @@ func (p Plugin) Exec() error {
|
|||||||
|
|
||||||
client := gitea.NewClient(p.Config.BaseURL, p.Config.APIKey)
|
client := gitea.NewClient(p.Config.BaseURL, p.Config.APIKey)
|
||||||
|
|
||||||
if p.Config.Insecure {
|
|
||||||
cookieJar, _ := cookiejar.New(nil)
|
|
||||||
|
|
||||||
var insecureClient = &http.Client{
|
|
||||||
Jar: cookieJar,
|
|
||||||
Transport: &http.Transport{
|
|
||||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
client.SetHTTPClient(insecureClient)
|
|
||||||
}
|
|
||||||
|
|
||||||
tag := "latest"
|
|
||||||
if p.Build.Event == "tag" {
|
|
||||||
tag = strings.TrimPrefix(p.Commit.Ref, "refs/tags/")
|
|
||||||
}
|
|
||||||
|
|
||||||
draft := p.Config.Draft
|
|
||||||
if p.Build.Event != "tag" {
|
|
||||||
draft = true
|
|
||||||
}
|
|
||||||
|
|
||||||
rc := releaseClient{
|
rc := releaseClient{
|
||||||
Client: client,
|
Client: client,
|
||||||
Owner: p.Repo.Owner,
|
Owner: p.Repo.Owner,
|
||||||
Repo: p.Repo.Name,
|
Repo: p.Repo.Name,
|
||||||
Tag: tag,
|
Tag: strings.TrimPrefix(p.Commit.Ref, "refs/tags/"),
|
||||||
Draft: draft,
|
Draft: p.Config.Draft,
|
||||||
Prerelease: p.Config.PreRelease,
|
Prerelease: p.Config.PreRelease,
|
||||||
FileExists: p.Config.FileExists,
|
FileExists: p.Config.FileExists,
|
||||||
Title: p.Config.Title,
|
Title: p.Config.Title,
|
||||||
Note: p.Config.Note,
|
Note: p.Config.Note,
|
||||||
Event: p.Build.Event,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
release, err := rc.buildRelease()
|
release, err := rc.buildRelease()
|
||||||
|
18
release.go
18
release.go
@ -19,7 +19,6 @@ type releaseClient struct {
|
|||||||
FileExists string
|
FileExists string
|
||||||
Title string
|
Title string
|
||||||
Note string
|
Note string
|
||||||
Event string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rc *releaseClient) buildRelease() (*gitea.Release, error) {
|
func (rc *releaseClient) buildRelease() (*gitea.Release, error) {
|
||||||
@ -48,28 +47,13 @@ func (rc *releaseClient) getRelease() (*gitea.Release, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var r *gitea.Release
|
|
||||||
for _, release := range releases {
|
for _, release := range releases {
|
||||||
if release.TagName == rc.Tag {
|
if release.TagName == rc.Tag {
|
||||||
fmt.Printf("Successfully retrieved %s release\n", rc.Tag)
|
fmt.Printf("Successfully retrieved %s release\n", rc.Tag)
|
||||||
r = release
|
return release, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if r == nil {
|
|
||||||
return nil, fmt.Errorf("Release %s not found", rc.Tag)
|
return nil, fmt.Errorf("Release %s not found", rc.Tag)
|
||||||
}
|
|
||||||
|
|
||||||
if rc.Event != "tag" {
|
|
||||||
if err := rc.Client.DeleteRelease(rc.Owner, rc.Repo, r.ID); err != nil {
|
|
||||||
return nil, fmt.Errorf("Failed to delete a release: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Printf("Successfully deleted %s release\n", rc.Tag)
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return r, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rc *releaseClient) newRelease() (*gitea.Release, error) {
|
func (rc *releaseClient) newRelease() (*gitea.Release, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user