mirror of
https://github.com/drone-plugins/drone-gitea-release.git
synced 2026-06-16 14:50:24 +08:00
Compare commits
47 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e41bce7a4f | |||
| bd912f262f | |||
| 22fb65701e | |||
| d23c4f699f | |||
| 7058d0574c | |||
| 6ae63e4434 | |||
| f57eb724a4 | |||
| b0a00e0500 | |||
| 2087ad8457 | |||
| a3bc2214f7 | |||
| acd080b23a | |||
| 1b3c06c50a | |||
| a7e89f3581 | |||
| 902f8dffe6 | |||
| a109067c06 | |||
| 55aefa6b57 | |||
| b433d4222a | |||
| 238fd28d8e | |||
| ca63c2ddea | |||
| aa19f3b5cd | |||
| d03c8d5b36 | |||
| fc7176bdfc | |||
| b656d40539 | |||
| 1def48823c | |||
| 39b569dc52 | |||
| ad43516f45 | |||
| 4a158980a4 | |||
| f67c35dbc3 | |||
| fb94247a08 | |||
| 41ecb137d0 | |||
| f7bcb7bf0c | |||
| fd61899cae | |||
| fd55e825a2 | |||
| 60da67ff16 | |||
| a6a27ed08b | |||
| 1d0b5301df | |||
| e50d44024d | |||
| 75f4ffd56f | |||
| ea7b7f5dde | |||
| dfc6b9e80e | |||
| f8305bbc00 | |||
| 4937a3d7c3 | |||
| bb5156853a | |||
| c2bec00afd | |||
| f8a7014264 | |||
| 1a7e5488a0 | |||
| 180dadcd0e |
@@ -1,68 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+232
-126
@@ -1,148 +1,254 @@
|
|||||||
workspace:
|
kind: pipeline
|
||||||
base: /go
|
type: vm
|
||||||
path: src/github.com/drone-plugins/drone-gitea-release
|
name: testing
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
pool:
|
||||||
|
use: ubuntu
|
||||||
|
|
||||||
pipeline:
|
steps:
|
||||||
deps:
|
- name: lint
|
||||||
image: golang:1.10
|
image: golang:1.19
|
||||||
pull: true
|
pull: always
|
||||||
commands:
|
commands:
|
||||||
- go get -u github.com/golang/dep/cmd/dep
|
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||||
- dep ensure
|
- golangci-lint version
|
||||||
|
- golangci-lint run
|
||||||
test:
|
volumes:
|
||||||
image: golang:1.10
|
- name: gopath
|
||||||
pull: true
|
path: "/go"
|
||||||
|
- name: test
|
||||||
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- go vet ./...
|
|
||||||
- go test -cover ./...
|
- go test -cover ./...
|
||||||
|
volumes:
|
||||||
|
- name: gopath
|
||||||
|
path: "/go"
|
||||||
|
volumes:
|
||||||
|
- name: gopath
|
||||||
|
temp: {}
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
- refs/pull/**
|
||||||
|
|
||||||
build_linux_amd64:
|
---
|
||||||
image: golang:1.10
|
kind: pipeline
|
||||||
pull: true
|
type: vm
|
||||||
group: build
|
name: linux-amd64
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
pool:
|
||||||
|
use: ubuntu
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: environment
|
||||||
|
image: golang:1.19
|
||||||
|
pull: always
|
||||||
environment:
|
environment:
|
||||||
- GOOS=linux
|
CGO_ENABLED: "0"
|
||||||
- GOARCH=amd64
|
|
||||||
- CGO_ENABLED=0
|
|
||||||
commands:
|
commands:
|
||||||
- |
|
- go version
|
||||||
if test "${DRONE_TAG}" = ""; then
|
- go env
|
||||||
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-gitea-release
|
- name: build
|
||||||
else
|
image: golang:1.19
|
||||||
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:
|
||||||
- GOOS=linux
|
CGO_ENABLED: "0"
|
||||||
- GOARCH=386
|
|
||||||
- CGO_ENABLED=0
|
|
||||||
commands:
|
commands:
|
||||||
- |
|
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/linux/amd64/drone-gitea-release .
|
||||||
if test "${DRONE_TAG}" = ""; then
|
- name: docker
|
||||||
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-gitea-release
|
image: plugins/docker
|
||||||
else
|
settings:
|
||||||
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-gitea-release
|
dockerfile: docker/Dockerfile.linux.amd64
|
||||||
fi
|
repo: plugins/gitea-release
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: linux-amd64
|
||||||
|
depends_on:
|
||||||
|
- testing
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
- refs/pull/**
|
||||||
|
|
||||||
build_linux_arm64:
|
---
|
||||||
image: golang:1.10
|
kind: pipeline
|
||||||
pull: true
|
type: docker
|
||||||
group: build
|
name: linux-arm64
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: arm64
|
||||||
|
pool:
|
||||||
|
use: ubuntu_arm64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: environment
|
||||||
|
image: golang:1.19
|
||||||
|
pull: always
|
||||||
environment:
|
environment:
|
||||||
- GOOS=linux
|
CGO_ENABLED: "0"
|
||||||
- GOARCH=arm64
|
|
||||||
- CGO_ENABLED=0
|
|
||||||
commands:
|
commands:
|
||||||
- |
|
- go version
|
||||||
if test "${DRONE_TAG}" = ""; then
|
- go env
|
||||||
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-gitea-release
|
- name: build
|
||||||
else
|
image: golang:1.19
|
||||||
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
|
|
||||||
|
|
||||||
build_linux_arm:
|
|
||||||
image: golang:1.10
|
|
||||||
pull: true
|
|
||||||
group: build
|
|
||||||
environment:
|
environment:
|
||||||
- GOOS=linux
|
CGO_ENABLED: "0"
|
||||||
- GOARCH=arm
|
|
||||||
- CGO_ENABLED=0
|
|
||||||
- GOARM=7
|
|
||||||
commands:
|
commands:
|
||||||
- |
|
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/linux/arm64/drone-gitea-release .
|
||||||
if test "${DRONE_TAG}" = ""; then
|
- name: docker
|
||||||
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-gitea-release
|
image: plugins/docker
|
||||||
else
|
settings:
|
||||||
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-gitea-release
|
dockerfile: docker/Dockerfile.linux.arm64
|
||||||
fi
|
repo: plugins/gitea-release
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: linux-arm64
|
||||||
|
depends_on:
|
||||||
|
- testing
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
- refs/pull/**
|
||||||
|
|
||||||
publish_linux_amd64:
|
---
|
||||||
image: plugins/docker:17.12
|
kind: pipeline
|
||||||
pull: true
|
type: vm
|
||||||
secrets: [ docker_username, docker_password ]
|
name: windows-1809
|
||||||
group: docker
|
platform:
|
||||||
repo: plugins/gitea-release
|
os: windows
|
||||||
auto_tag: true
|
arch: amd64
|
||||||
auto_tag_suffix: linux-amd64
|
pool:
|
||||||
dockerfile: Dockerfile
|
use: windows
|
||||||
when:
|
|
||||||
event: [ push, tag ]
|
|
||||||
|
|
||||||
publish_linux_i386:
|
steps:
|
||||||
image: plugins/docker:17.12
|
- name: environment
|
||||||
pull: true
|
image: golang:1.19
|
||||||
secrets: [ docker_username, docker_password ]
|
pull: always
|
||||||
group: docker
|
environment:
|
||||||
repo: plugins/gitea-release
|
CGO_ENABLED: "0"
|
||||||
auto_tag: true
|
commands:
|
||||||
auto_tag_suffix: linux-i386
|
- go version
|
||||||
dockerfile: Dockerfile.i386
|
- 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-gitea-release.exe .
|
||||||
|
- name: docker
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
dockerfile: docker/Dockerfile.windows.1809
|
||||||
|
repo: plugins/gitea-release
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: windows-1809-amd64
|
||||||
|
daemon_off: true
|
||||||
|
purge: false
|
||||||
when:
|
when:
|
||||||
event: [ push, tag ]
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
depends_on:
|
||||||
|
- testing
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
- refs/pull/**
|
||||||
|
|
||||||
publish_linux_arm64:
|
---
|
||||||
image: plugins/docker:17.12
|
kind: pipeline
|
||||||
pull: true
|
type: vm
|
||||||
secrets: [ docker_username, docker_password ]
|
name: windows-ltsc2022
|
||||||
group: docker
|
platform:
|
||||||
repo: plugins/gitea-release
|
os: windows
|
||||||
auto_tag: true
|
arch: amd64
|
||||||
auto_tag_suffix: linux-arm64
|
pool:
|
||||||
dockerfile: Dockerfile.arm64
|
use: windows-2022
|
||||||
when:
|
|
||||||
event: [ push, tag ]
|
|
||||||
|
|
||||||
publish_linux_arm:
|
steps:
|
||||||
image: plugins/docker:17.12
|
- name: environment
|
||||||
pull: true
|
image: golang:1.19
|
||||||
secrets: [ docker_username, docker_password ]
|
pull: always
|
||||||
group: docker
|
environment:
|
||||||
repo: plugins/gitea-release
|
CGO_ENABLED: "0"
|
||||||
auto_tag: true
|
commands:
|
||||||
auto_tag_suffix: linux-arm
|
- go version
|
||||||
dockerfile: Dockerfile.arm
|
- 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-gitea-release.exe .
|
||||||
|
- name: docker
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
dockerfile: docker/Dockerfile.windows.ltsc2022
|
||||||
|
repo: plugins/gitea-release
|
||||||
|
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:
|
when:
|
||||||
event: [ push, tag ]
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
depends_on:
|
||||||
|
- testing
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
- refs/pull/**
|
||||||
|
|
||||||
manifests:
|
---
|
||||||
image: plugins/manifest:1
|
kind: pipeline
|
||||||
pull: true
|
type: vm
|
||||||
secrets: [ docker_username, docker_password ]
|
name: manifest
|
||||||
spec: manifest.tmpl
|
platform:
|
||||||
auto_tag: true
|
os: linux
|
||||||
ignore_missing: true
|
arch: amd64
|
||||||
when:
|
pool:
|
||||||
event: [ push, tag ]
|
use: ubuntu
|
||||||
|
|
||||||
microbadger:
|
steps:
|
||||||
image: plugins/webhook:1
|
- name: manifest
|
||||||
pull: true
|
image: plugins/manifest
|
||||||
secrets: [ webhook_url ]
|
settings:
|
||||||
when:
|
auto_tag: "true"
|
||||||
status: [ success ]
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
spec: docker/manifest.tmpl
|
||||||
|
ignore_missing: true
|
||||||
|
depends_on:
|
||||||
|
- linux-amd64
|
||||||
|
- linux-arm64
|
||||||
|
- windows-1809
|
||||||
|
- windows-ltsc2022
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<!-- 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/
|
||||||
|
|
||||||
|
-->
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
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: []
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
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/arm/drone-gitea-release /bin/
|
|
||||||
ENTRYPOINT [ "/bin/drone-gitea-release" ]
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
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"]
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# 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" ]
|
|
||||||
Generated
-48
@@ -1,48 +0,0 @@
|
|||||||
# 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
@@ -1,46 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,16 +1,50 @@
|
|||||||
# drone-gitea-release
|
# drone-gitea-release
|
||||||
|
|
||||||
[](https://beta.drone.io/drone-plugins/drone-gitea-release)
|
[](http://cloud.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.
|
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/).
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
Build the binary with the following commands:
|
Build the binary with the following command:
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
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
|
||||||
```
|
```
|
||||||
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -a -tags netgo -o release/linux/amd64/drone-gitea-release
|
|
||||||
docker build --rm -t plugins/gitea-release .
|
|
||||||
```
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# escape=`
|
||||||
|
FROM plugins/base:windows-1809-amd64@sha256:61095306fa56d51adc841f2b0f93f511efb5792d12f2549bb2eb1cbce02c1f05
|
||||||
|
|
||||||
|
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" ]
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# escape=`
|
||||||
|
FROM plugins/base:windows-ltsc2022-amd64@sha256:0f90d5bceb432f1ee6f93cf44eed6a38c322834edd55df8a6648c9e6f15131f4
|
||||||
|
|
||||||
|
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" ]
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
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}}windows-1809
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: windows
|
||||||
|
version: 1809
|
||||||
|
-
|
||||||
|
image: plugins/gitea-release:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}ltsc2022-amd64
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: windows
|
||||||
|
version: ltsc2022-amd64
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
module github.com/drone-plugins/drone-gitea-release
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
|
require (
|
||||||
|
code.gitea.io/sdk/gitea v0.15.1
|
||||||
|
github.com/joho/godotenv v1.4.0
|
||||||
|
github.com/sirupsen/logrus v1.9.0
|
||||||
|
github.com/urfave/cli v1.22.10
|
||||||
|
golang.org/x/crypto v0.4.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||||
|
github.com/hashicorp/go-version v1.6.0 // indirect
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||||
|
golang.org/x/sys v0.3.0 // indirect
|
||||||
|
)
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
code.gitea.io/gitea-vet v0.2.1/go.mod h1:zcNbT/aJEmivCAhfmkHOlT645KNOf9W2KnkLgFjGGfE=
|
||||||
|
code.gitea.io/sdk/gitea v0.15.1 h1:WJreC7YYuxbn0UDaPuWIe/mtiNKTvLN8MLkaw71yx/M=
|
||||||
|
code.gitea.io/sdk/gitea v0.15.1/go.mod h1:klY2LVI3s3NChzIk/MzMn7G1FHrfU7qd63iSMVoHRBA=
|
||||||
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w=
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
|
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/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
|
||||||
|
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
|
||||||
|
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
|
||||||
|
github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg=
|
||||||
|
github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
|
||||||
|
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/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
|
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
|
||||||
|
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
|
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
|
||||||
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/urfave/cli v1.22.10 h1:p8Fspmz3iTctJstry1PYS3HVdllxnEzTEsgIgtxTrCk=
|
||||||
|
github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
|
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8=
|
||||||
|
golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80=
|
||||||
|
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
|
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
|
||||||
|
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.0.0-20200325010219-a49f79bcc224/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
|
||||||
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
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=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
@@ -1,25 +1,23 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/Sirupsen/logrus"
|
|
||||||
"github.com/joho/godotenv"
|
"github.com/joho/godotenv"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/urfave/cli"
|
"github.com/urfave/cli"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
version = "0.0.0"
|
version = "unknown"
|
||||||
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",
|
||||||
@@ -47,6 +45,11 @@ 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",
|
||||||
@@ -126,6 +129,7 @@ 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"),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
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,13 +1,15 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/tls"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"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 (
|
||||||
@@ -31,6 +33,7 @@ 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
|
||||||
@@ -106,7 +109,20 @@ func (p Plugin) Exec() error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
client := gitea.NewClient(p.Config.BaseURL, p.Config.APIKey)
|
httpClient := &http.Client{}
|
||||||
|
if p.Config.Insecure {
|
||||||
|
cookieJar, _ := cookiejar.New(nil)
|
||||||
|
httpClient = &http.Client{
|
||||||
|
Jar: cookieJar,
|
||||||
|
Transport: &http.Transport{
|
||||||
|
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
client, err := gitea.NewClient(p.Config.BaseURL, gitea.SetToken(p.Config.APIKey), gitea.SetHTTPClient(httpClient))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
rc := releaseClient{
|
rc := releaseClient{
|
||||||
Client: client,
|
Client: client,
|
||||||
@@ -120,6 +136,12 @@ func (p Plugin) Exec() error {
|
|||||||
Note: p.Config.Note,
|
Note: p.Config.Note,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if the title was not provided via .drone.yml we use the tag instead
|
||||||
|
// fixes https://github.com/drone-plugins/drone-gitea-release/issues/26
|
||||||
|
if rc.Title == "" {
|
||||||
|
rc.Title = rc.Tag
|
||||||
|
}
|
||||||
|
|
||||||
release, err := rc.buildRelease()
|
release, err := rc.buildRelease()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -141,7 +163,7 @@ func readStringOrFile(input string) (string, error) {
|
|||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
result, err := ioutil.ReadFile(input)
|
result, err := os.ReadFile(input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
run:
|
||||||
|
go:
|
||||||
|
module: github.com/drone-plugins/drone-gitea-release
|
||||||
+5
-5
@@ -42,7 +42,7 @@ func (rc *releaseClient) buildRelease() (*gitea.Release, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (rc *releaseClient) getRelease() (*gitea.Release, error) {
|
func (rc *releaseClient) getRelease() (*gitea.Release, error) {
|
||||||
releases, err := rc.Client.ListReleases(rc.Owner, rc.Repo)
|
releases, _, err := rc.Client.ListReleases(rc.Owner, rc.Repo, gitea.ListReleasesOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ func (rc *releaseClient) newRelease() (*gitea.Release, error) {
|
|||||||
Note: rc.Note,
|
Note: rc.Note,
|
||||||
}
|
}
|
||||||
|
|
||||||
release, err := rc.Client.CreateRelease(rc.Owner, rc.Repo, r)
|
release, _, err := rc.Client.CreateRelease(rc.Owner, rc.Repo, r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("Failed to create release: %s", err)
|
return nil, fmt.Errorf("Failed to create release: %s", err)
|
||||||
}
|
}
|
||||||
@@ -75,7 +75,7 @@ func (rc *releaseClient) newRelease() (*gitea.Release, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (rc *releaseClient) uploadFiles(releaseID int64, files []string) error {
|
func (rc *releaseClient) uploadFiles(releaseID int64, files []string) error {
|
||||||
attachments, err := rc.Client.ListReleaseAttachments(rc.Owner, rc.Repo, releaseID)
|
attachments, _, err := rc.Client.ListReleaseAttachments(rc.Owner, rc.Repo, releaseID, gitea.ListReleaseAttachmentsOptions{})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Failed to fetch existing assets: %s", err)
|
return fmt.Errorf("Failed to fetch existing assets: %s", err)
|
||||||
@@ -113,7 +113,7 @@ files:
|
|||||||
|
|
||||||
for _, attachment := range attachments {
|
for _, attachment := range attachments {
|
||||||
if attachment.Name == path.Base(file) {
|
if attachment.Name == path.Base(file) {
|
||||||
if err := rc.Client.DeleteReleaseAttachment(rc.Owner, rc.Repo, releaseID, attachment.ID); err != nil {
|
if _, err := rc.Client.DeleteReleaseAttachment(rc.Owner, rc.Repo, releaseID, attachment.ID); err != nil {
|
||||||
return fmt.Errorf("Failed to delete %s artifact: %s", file, err)
|
return fmt.Errorf("Failed to delete %s artifact: %s", file, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ files:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err = rc.Client.CreateReleaseAttachment(rc.Owner, rc.Repo, releaseID, handle, path.Base(file)); err != nil {
|
if _, _, err = rc.Client.CreateReleaseAttachment(rc.Owner, rc.Repo, releaseID, handle, path.Base(file)); err != nil {
|
||||||
return fmt.Errorf("Failed to upload %s artifact: %s", file, err)
|
return fmt.Errorf("Failed to upload %s artifact: %s", file, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ import (
|
|||||||
"hash/adler32"
|
"hash/adler32"
|
||||||
"hash/crc32"
|
"hash/crc32"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
|
||||||
|
"golang.org/x/crypto/blake2b"
|
||||||
|
"golang.org/x/crypto/blake2s"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -24,17 +24,8 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func execute(cmd *exec.Cmd) error {
|
|
||||||
fmt.Println("+", strings.Join(cmd.Args, " "))
|
|
||||||
|
|
||||||
cmd.Stderr = os.Stderr
|
|
||||||
cmd.Stdin = os.Stdin
|
|
||||||
|
|
||||||
return cmd.Run()
|
|
||||||
}
|
|
||||||
|
|
||||||
func checksum(r io.Reader, method string) (string, error) {
|
func checksum(r io.Reader, method string) (string, error) {
|
||||||
b, err := ioutil.ReadAll(r)
|
b, err := io.ReadAll(r)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@@ -53,6 +44,10 @@ func checksum(r io.Reader, method string) (string, error) {
|
|||||||
return strconv.FormatUint(uint64(adler32.Checksum(b)), 10), nil
|
return strconv.FormatUint(uint64(adler32.Checksum(b)), 10), nil
|
||||||
case "crc32":
|
case "crc32":
|
||||||
return strconv.FormatUint(uint64(crc32.ChecksumIEEE(b)), 10), nil
|
return strconv.FormatUint(uint64(crc32.ChecksumIEEE(b)), 10), nil
|
||||||
|
case "blake2b":
|
||||||
|
return fmt.Sprintf("%x", blake2b.Sum256(b)), nil
|
||||||
|
case "blake2s":
|
||||||
|
return fmt.Sprintf("%x", blake2s.Sum256(b)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return "", fmt.Errorf("Hashing method %s is not supported", method)
|
return "", fmt.Errorf("Hashing method %s is not supported", method)
|
||||||
|
|||||||
Reference in New Issue
Block a user