53 Commits

Author SHA1 Message Date
OP (oppenheimer) a7044f7561 Merge pull request #44 from drone-plugins/CI-15946
Create pipeline drone-gitea-release-harness
2025-05-09 21:30:14 +05:30
Archit Mallik ca3c0a6314 Create inputset event-Tag 2025-03-18 15:47:50 +05:30
Archit Mallik a0f555112f Create inputset event-Push 2025-03-18 15:46:14 +05:30
Archit Mallik bbcd1f18ce Create inputset event-PR 2025-03-18 15:45:32 +05:30
Archit Mallik fee91d3014 Create pipeline drone-gitea-release-harness 2025-03-18 15:43:39 +05:30
TP Honey c7539c8910 Merge pull request #39 from tphoney/use_correct_arm_runner
(fix) use correct arm runner
2023-09-15 15:03:07 +01:00
dependabot-ci 420e9f7f28 (fix) use correct arm runner 2023-09-15 14:48:58 +01:00
TP Honey bd912f262f Update Dockerfile.windows.1809 2022-12-07 14:18:51 +00:00
TP Honey 22fb65701e Update Dockerfile.windows.ltsc2022 2022-12-07 14:03:07 +00:00
TP Honey d23c4f699f Merge pull request #35 from tphoney/harness_move
(maint) move to harness.drone.io
2022-12-07 13:48:58 +00:00
TP Honey 7058d0574c (maint) move to harness.drone.io 2022-12-07 13:31:11 +00:00
TP Honey 6ae63e4434 Merge pull request #31 from tinsel-grumble/tinsel-grumble-patch-1
add blake2 support
2022-01-18 11:33:20 +00:00
tinsel-grumble f57eb724a4 remove bad import 2022-01-12 21:23:56 +00:00
tinsel-grumble b0a00e0500 add blake2 hash 2022-01-12 21:20:57 +00:00
Don 2087ad8457 Merge pull request #28 from pheelee/master
use tag as title if not user provided fixes #26
2021-06-15 14:22:53 -07:00
Philipp a3bc2214f7 use tag as title if not user provided fixes #26 2021-06-07 08:31:25 +02:00
Thomas Boerger acd080b23a Merge pull request #25 from 6543-forks/vendor_update
Vendor Updates
2020-12-17 14:04:17 +01:00
6543 1b3c06c50a github.com/urfave/cli v1.20.0 -> v1.22.5 2020-12-11 22:36:48 +01:00
6543 a7e89f3581 code.gitea.io/sdk/gitea v0.13.0 -> v0.13.2 2020-12-11 22:36:07 +01:00
6543 902f8dffe6 github.com/joho/godotenv v1.2.0 -> v1.3.0 2020-12-11 22:34:56 +01:00
6543 a109067c06 github.com/sirupsen/logrus v1.0.5 -> v1.7.0 2020-12-11 22:33:26 +01:00
Thomas Boerger 55aefa6b57 Merge pull request #24 from 6543-forks/update-gitea-sdk
Update Gitea SDK to v0.13.0
2020-09-16 13:45:30 +02:00
6543 b433d4222a golang 1.13 2020-09-16 08:26:19 +02:00
6543 238fd28d8e Update Gitea SDK to v0.13.0 2020-09-16 08:01:14 +02:00
Thomas Boerger ca63c2ddea Merge pull request #23 from 6543-forks/vendor-gitea-sdk
Update code.gitea.io/sdk/gitea to v0.12.0
2020-06-12 21:58:56 +02:00
6543 aa19f3b5cd migrate 2020-05-22 11:42:46 +02:00
6543 d03c8d5b36 go mod tidy 2020-05-22 11:39:08 +02:00
6543 fc7176bdfc go get -u code.gitea.io/sdk/gitea 2020-05-22 11:38:52 +02:00
Thomas Boerger b656d40539 Merge pull request #19 from drone-plugins/improve-config
Drop renovate, proper version definition, unified jsonnet config
2019-03-28 09:36:14 +01:00
Thomas Boerger 1def48823c Fix microbadger settings and enable auto_tag for manifest 2019-03-28 09:31:56 +01:00
Thomas Boerger 39b569dc52 Fix manifest template helper 2019-02-25 22:20:12 +01:00
Thomas Boerger ad43516f45 Drop import of unused fmt package 2019-02-18 23:47:39 +01:00
Thomas Boerger 4a158980a4 Replace godep with gomod 2019-02-18 23:14:31 +01:00
Thomas Boerger f67c35dbc3 Unified documentation and readme 2019-02-15 11:58:33 +01:00
Thomas Boerger fb94247a08 Add a reliable version and integrate libsonnet definition 2019-02-15 10:25:53 +01:00
Thomas Boerger 41ecb137d0 Drop renovate config, it is simply too noisy 2019-02-14 20:14:11 +01:00
Thomas Boerger f7bcb7bf0c Merge pull request #16 from drone-plugins/upgrade-drone
Upgrade and switch to Drone 1.0.0
2019-01-23 11:06:57 +01:00
Thomas Boerger fd61899cae Execute built binary as simple test 2019-01-22 23:12:09 +01:00
Thomas Boerger fd55e825a2 Add some basic issue template content 2019-01-21 21:02:08 +01:00
Thomas Boerger 60da67ff16 Add probot settings config 2019-01-21 20:58:22 +01:00
Thomas Boerger a6a27ed08b Remove duplicated badge 2019-01-21 09:31:45 +01:00
Thomas Boerger 1d0b5301df Fix duplicated step names 2019-01-21 01:12:56 +01:00
Thomas Boerger e50d44024d Update badges within readme 2019-01-21 00:19:15 +01:00
Thomas Boerger 75f4ffd56f Migrate configs to drone 1.0.0 and drop appveyor 2019-01-20 23:51:59 +01:00
Thomas Boerger ea7b7f5dde Add manifest template to docker folder 2019-01-20 22:21:24 +01:00
Thomas Boerger dfc6b9e80e Move dockerfiles to docker folder 2019-01-20 22:20:02 +01:00
Thomas Boerger f8305bbc00 Merge pull request #15 from drone-plugins/renovate/configure
Configure Renovate
2019-01-19 21:29:09 +01:00
Thomas Boerger 4937a3d7c3 Update renovate.json 2019-01-19 12:00:36 +01:00
Renovate Bot bb5156853a Add renovate.json 2019-01-19 02:56:20 +00:00
Jonas Franz c2bec00afd Add note about Gitea version (#11)
Fixes #8 by clarifying the requirements.
2018-07-01 13:42:20 +08:00
Bo-Yi Wu f8a7014264 Provide a password using STDIN (#10) 2018-06-30 23:33:20 +02:00
Lunny Xiao 1a7e5488a0 Add insecure https support (#4) 2018-03-28 09:55:21 +08:00
Thomas Boerger 180dadcd0e Dropped comments from gopkg config 2018-03-16 13:23:00 +01:00
26 changed files with 951 additions and 384 deletions
-68
View File
@@ -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
View File
@@ -1,148 +1,254 @@
workspace:
base: /go
path: src/github.com/drone-plugins/drone-gitea-release
kind: pipeline
type: vm
name: testing
platform:
os: linux
arch: amd64
pool:
use: ubuntu
pipeline:
deps:
image: golang:1.10
pull: true
steps:
- name: lint
image: golang:1.20
pull: always
commands:
- go get -u github.com/golang/dep/cmd/dep
- dep ensure
test:
image: golang:1.10
pull: true
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
- golangci-lint version
- golangci-lint run
volumes:
- name: gopath
path: "/go"
- name: test
image: golang:1.20
commands:
- go vet ./...
- 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
pull: true
group: build
---
kind: pipeline
type: vm
name: linux-amd64
platform:
os: linux
arch: amd64
pool:
use: ubuntu
steps:
- name: environment
image: golang:1.20
pull: always
environment:
- GOOS=linux
- GOARCH=amd64
- CGO_ENABLED=0
CGO_ENABLED: "0"
commands:
- |
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
- go version
- go env
- name: build
image: golang:1.20
environment:
- GOOS=linux
- GOARCH=386
- CGO_ENABLED=0
CGO_ENABLED: "0"
commands:
- |
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
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/linux/amd64/drone-gitea-release .
- name: docker
image: plugins/docker
settings:
dockerfile: docker/Dockerfile.linux.amd64
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
pull: true
group: build
---
kind: pipeline
type: vm
name: linux-arm64
platform:
os: linux
arch: arm64
pool:
use: ubuntu_arm64
steps:
- name: environment
image: golang:1.20
pull: always
environment:
- GOOS=linux
- GOARCH=arm64
- CGO_ENABLED=0
CGO_ENABLED: "0"
commands:
- |
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
build_linux_arm:
image: golang:1.10
pull: true
group: build
- go version
- go env
- name: build
image: golang:1.20
environment:
- GOOS=linux
- GOARCH=arm
- CGO_ENABLED=0
- GOARM=7
CGO_ENABLED: "0"
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
- go build -v -ldflags "-X main.version=" -a -tags netgo -o release/linux/arm64/drone-gitea-release .
- name: docker
image: plugins/docker
settings:
dockerfile: docker/Dockerfile.linux.arm64
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
pull: true
secrets: [ docker_username, docker_password ]
group: docker
repo: plugins/gitea-release
auto_tag: true
auto_tag_suffix: linux-amd64
dockerfile: Dockerfile
when:
event: [ push, tag ]
---
kind: pipeline
type: vm
name: windows-1809
platform:
os: windows
arch: amd64
pool:
use: windows
publish_linux_i386:
image: plugins/docker:17.12
pull: true
secrets: [ docker_username, docker_password ]
group: docker
repo: plugins/gitea-release
auto_tag: true
auto_tag_suffix: linux-i386
dockerfile: Dockerfile.i386
steps:
- name: environment
image: golang:1.20
pull: always
environment:
CGO_ENABLED: "0"
commands:
- go version
- go env
- name: build
image: golang:1.20
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:
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
pull: true
secrets: [ docker_username, docker_password ]
group: docker
repo: plugins/gitea-release
auto_tag: true
auto_tag_suffix: linux-arm64
dockerfile: Dockerfile.arm64
when:
event: [ push, tag ]
---
kind: pipeline
type: vm
name: windows-ltsc2022
platform:
os: windows
arch: amd64
pool:
use: windows-2022
publish_linux_arm:
image: plugins/docker:17.12
pull: true
secrets: [ docker_username, docker_password ]
group: docker
repo: plugins/gitea-release
auto_tag: true
auto_tag_suffix: linux-arm
dockerfile: Dockerfile.arm
steps:
- name: environment
image: golang:1.20
pull: always
environment:
CGO_ENABLED: "0"
commands:
- go version
- go env
- name: build
image: golang:1.20
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:
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
pull: true
secrets: [ docker_username, docker_password ]
spec: manifest.tmpl
auto_tag: true
ignore_missing: true
when:
event: [ push, tag ]
---
kind: pipeline
type: vm
name: manifest
platform:
os: linux
arch: amd64
pool:
use: ubuntu
microbadger:
image: plugins/webhook:1
pull: true
secrets: [ webhook_url ]
when:
status: [ success ]
steps:
- name: manifest
image: plugins/manifest
settings:
auto_tag: "true"
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/**
+9
View File
@@ -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/
-->
+73
View File
@@ -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: []
+14
View File
@@ -0,0 +1,14 @@
inputSet:
name: event-PR
identifier: eventPR
orgIdentifier: default
projectIdentifier: Drone_Plugins
pipeline:
identifier: dronegiteareleaseharness
properties:
ci:
codebase:
build:
type: PR
spec:
number: <+trigger.prNumber>
+14
View File
@@ -0,0 +1,14 @@
inputSet:
name: event-Push
identifier: eventPush
orgIdentifier: default
projectIdentifier: Drone_Plugins
pipeline:
identifier: dronegiteareleaseharness
properties:
ci:
codebase:
build:
type: branch
spec:
branch: <+trigger.branch>
+14
View File
@@ -0,0 +1,14 @@
inputSet:
name: event-Tag
identifier: eventTag
orgIdentifier: default
projectIdentifier: Drone_Plugins
pipeline:
identifier: dronegiteareleaseharness
properties:
ci:
codebase:
build:
type: tag
spec:
tag: <+trigger.tag>
+383
View File
@@ -0,0 +1,383 @@
pipeline:
name: drone-gitea-release-harness
identifier: dronegiteareleaseharness
projectIdentifier: Drone_Plugins
orgIdentifier: default
tags: {}
properties:
ci:
codebase:
connectorRef: GitHub_Drone_Plugins_Org
repoName: drone-gitea-release
build: <+input>
sparseCheckout: []
stages:
- stage:
name: Testing Stage
identifier: Testing_Stage
type: CI
spec:
cloneCodebase: true
caching:
enabled: false
paths: []
platform:
os: Linux
arch: Amd64
runtime:
type: Cloud
spec: {}
execution:
steps:
- step:
type: Run
name: Lint
identifier: Lint
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: golang:1.20
shell: Sh
command: |-
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint version
golangci-lint run
- step:
type: Run
name: Test
identifier: Run_1
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: golang:1.20
shell: Sh
command: go test -cover ./...
description: ""
- parallel:
- stage:
name: linux-amd64
identifier: linuxamd64
type: CI
spec:
cloneCodebase: true
caching:
enabled: false
paths: []
platform:
os: Linux
arch: Amd64
runtime:
type: Cloud
spec: {}
execution:
steps:
- step:
name: Build binaries
identifier: Build_binaries
type: Run
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: golang:1.20
shell: Sh
command: |-
# force go modules
export GOPATH=""
# disable cgo
export CGO_ENABLED=0
set -e
set -x
# linux
export GOOS=linux GOARCH=amd64
go build -v -a -tags netgo -o release/linux/amd64/drone-gitea-release .
when:
stageStatus: Success
- step:
type: Plugin
name: BuildAndPushDockerPlugin
identifier: BuildAndPushDockerPlugin
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: plugins/docker
settings:
username: drone
password: <+secrets.getValue("Plugins_Docker_Hub_Pat")>
repo: plugins/gitea-release
dockerfile: docker/Dockerfile.linux.amd64
auto_tag: "true"
auto_tag_suffix: linux-amd64
when:
stageStatus: Success
condition: <+codebase.build.type> == "tag"
- step:
type: BuildAndPushDockerRegistry
name: BuildAndPushDockerRegistry
identifier: BuildAndPushDockerRegistry
spec:
connectorRef: Plugins_Docker_Hub_Connector
repo: plugins/gitea-release
tags:
- linux-amd64
caching: false
dockerfile: docker/Dockerfile.linux.amd64
when:
stageStatus: Success
condition: |
<+codebase.build.type> == "branch"
description: ""
- stage:
name: linux-arm64
identifier: linuxarm64
type: CI
spec:
cloneCodebase: true
caching:
enabled: false
paths: []
platform:
os: Linux
arch: Arm64
runtime:
type: Cloud
spec: {}
execution:
steps:
- step:
name: Build binaries
identifier: Build_binaries
type: Run
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: golang:1.20
shell: Sh
command: |-
# force go modules
export GOPATH=""
# disable cgo
export CGO_ENABLED=0
set -e
set -x
# linux
export GOOS=linux GOARCH=arm64
go build -v -a -tags netgo -o release/linux/arm64/drone-gitea-release .
when:
stageStatus: Success
- step:
type: Plugin
name: BuildAndPushDockerPlugin
identifier: BuildAndPushDockerPlugin
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: plugins/docker
settings:
username: drone
password: <+secrets.getValue("Plugins_Docker_Hub_Pat")>
repo: plugins/gitea-release
dockerfile: docker/Dockerfile.linux.arm64
auto_tag: "true"
auto_tag_suffix: linux-arm64
when:
stageStatus: Success
condition: <+codebase.build.type> == "tag"
- step:
type: BuildAndPushDockerRegistry
name: BuildAndPushDockerRegistry
identifier: BuildAndPushDockerRegistry
spec:
connectorRef: Plugins_Docker_Hub_Connector
repo: plugins/gitea-release
tags:
- linux-arm64
caching: false
dockerfile: docker/Dockerfile.linux.arm64
when:
stageStatus: Success
condition: |
<+codebase.build.type> == "branch"
description: ""
- stage:
name: windows-1809-amd64
identifier: windows1809amd64
type: CI
spec:
cloneCodebase: true
caching:
enabled: false
paths: []
execution:
steps:
- step:
name: Build binaries
identifier: Build_binaries
type: Run
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: golang:1.20
shell: Sh
command: |-
# force go modules
export GOPATH=""
# disable cgo
export CGO_ENABLED=0
set -e
set -x
# Windows
GOOS=windows
go build -v -a -tags netgo -o release/windows/amd64/drone-gitea-release.exe .
when:
stageStatus: Success
- step:
type: Plugin
name: BuildAndPushDockerPlugin
identifier: BuildAndPushDockerPlugin
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: plugins/docker
settings:
username: drone
password: <+secrets.getValue("Plugins_Docker_Hub_Pat")>
repo: plugins/gitea-release
dockerfile: docker/Dockerfile.windows.1809
auto_tag: "true"
auto_tag_suffix: windows-1809-amd64
when:
stageStatus: Success
condition: <+codebase.build.type> == "tag"
- step:
type: BuildAndPushDockerRegistry
name: BuildAndPushDockerRegistry
identifier: BuildAndPushDockerRegistry
spec:
connectorRef: Plugins_Docker_Hub_Connector
repo: plugins/gitea-release
tags:
- windows-1809-amd64
caching: false
dockerfile: docker/Dockerfile.windows.1809
when:
stageStatus: Success
condition: |
<+codebase.build.type> == "branch"
infrastructure:
type: VM
spec:
type: Pool
spec:
poolName: windows-2019
os: Windows
description: ""
delegateSelectors:
- windows-vm
- stage:
name: windows-ltsc2022-amd64
identifier: windowsltsc2022amd64
type: CI
spec:
cloneCodebase: true
caching:
enabled: false
paths: []
platform:
os: Windows
arch: Amd64
runtime:
type: Cloud
spec: {}
execution:
steps:
- step:
name: Build binaries
identifier: Build_binaries
type: Run
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: golang:1.20
shell: Sh
command: |-
# force go modules
export GOPATH=""
# disable cgo
export CGO_ENABLED=0
set -e
set -x
# Windows
GOOS=windows
go build -v -a -tags netgo -o release/windows/amd64/drone-gitea-release.exe .
- step:
type: Plugin
name: BuildAndPushDockerPlugin
identifier: BuildAndPushDockerPlugin
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: plugins/docker
settings:
username: drone
password: <+secrets.getValue("Plugins_Docker_Hub_Pat")>
repo: plugins/gitea-release
dockerfile: docker/Dockerfile.windows.ltsc2022
auto_tag: "true"
auto_tag_suffix: windows-ltsc2022-amd64
when:
stageStatus: Success
condition: <+codebase.build.type> == "tag"
- step:
type: BuildAndPushDockerRegistry
name: BuildAndPushDockerRegistry
identifier: BuildAndPushDockerRegistry
spec:
connectorRef: Plugins_Docker_Hub_Connector
repo: plugins/gitea-release
tags:
- windows-ltsc2022-amd64
caching: false
dockerfile: docker/Dockerfile.windows.ltsc2022
when:
stageStatus: Success
condition: |
<+codebase.build.type> == "branch"
description: ""
- stage:
name: Manifest
identifier: Manifest
type: CI
spec:
cloneCodebase: true
caching:
enabled: false
paths: []
platform:
os: Linux
arch: Amd64
runtime:
type: Cloud
spec: {}
execution:
steps:
- step:
type: Plugin
name: Manifest
identifier: Manifest
spec:
connectorRef: Plugins_Docker_Hub_Connector
image: plugins/manifest
settings:
username: drone
password: <+secrets.getValue("Plugins_Docker_Hub_Pat")>
auto_tag: "true"
ignore_missing: "true"
spec: docker/manifest.tmpl
when:
stageStatus: Success
condition: |
<+codebase.build.type> == "tag" || <+codebase.build.type> == "branch"
description: ""
allowStageExecutions: true
-9
View File
@@ -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" ]
-9
View File
@@ -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"]
-12
View File
@@ -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
View File
@@ -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
View File
@@ -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
+40 -6
View File
@@ -1,16 +1,50 @@
# drone-gitea-release
[![Build Status](https://beta.drone.io/api/badges/drone-plugins/drone-gitea-release/status.svg)](https://beta.drone.io/drone-plugins/drone-gitea-release)
[![Build Status](http://cloud.drone.io/api/badges/drone-plugins/drone-gitea-release/status.svg)](http://cloud.drone.io/drone-plugins/drone-gitea-release)
[![Gitter chat](https://badges.gitter.im/drone/drone.png)](https://gitter.im/drone/drone)
[![Join the discussion at https://discourse.drone.io](https://img.shields.io/badge/discourse-forum-orange.svg)](https://discourse.drone.io)
[![Drone questions at https://stackoverflow.com](https://img.shields.io/badge/drone-stackoverflow-orange.svg)](https://stackoverflow.com/questions/tagged/drone.io)
[![](https://images.microbadger.com/badges/image/plugins/gitea-release.svg)](https://microbadger.com/images/plugins/gitea-release "Get your own image badge on microbadger.com")
[![Go Doc](https://godoc.org/github.com/drone-plugins/drone-gitea-release?status.svg)](http://godoc.org/github.com/drone-plugins/drone-gitea-release)
[![Go Report](https://goreportcard.com/badge/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 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 .
```
+10
View File
@@ -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" ]
+10
View File
@@ -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" ]
+31
View File
@@ -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
+18
View File
@@ -0,0 +1,18 @@
module github.com/drone-plugins/drone-gitea-release
go 1.20
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
)
+55
View File
@@ -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=
+9 -5
View File
@@ -1,25 +1,23 @@
package main
import (
"fmt"
"os"
"github.com/Sirupsen/logrus"
"github.com/joho/godotenv"
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
)
var (
version = "0.0.0"
build = "0"
version = "unknown"
)
func main() {
app := cli.NewApp()
app.Name = "gitea-release plugin"
app.Usage = "gitea-release plugin"
app.Version = fmt.Sprintf("%s+%s", version, build)
app.Action = run
app.Version = version
app.Flags = []cli.Flag{
cli.StringFlag{
Name: "api-key",
@@ -47,6 +45,11 @@ func main() {
Usage: "create a draft release",
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{
Name: "prerelease",
Usage: "set the release as prerelease",
@@ -126,6 +129,7 @@ func run(c *cli.Context) error {
Draft: c.Bool("draft"),
PreRelease: c.Bool("prerelease"),
BaseURL: c.String("base-url"),
Insecure: c.Bool("insecure"),
Title: c.String("title"),
Note: c.String("note"),
},
-33
View File
@@ -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
+26 -4
View File
@@ -1,13 +1,15 @@
package main
import (
"crypto/tls"
"fmt"
"net/http"
"net/http/cookiejar"
"os"
"path/filepath"
"strings"
"code.gitea.io/sdk/gitea"
"io/ioutil"
"os"
)
type (
@@ -31,6 +33,7 @@ type (
Checksum []string
Draft bool
PreRelease bool
Insecure bool
BaseURL string
Title 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{
Client: client,
@@ -120,6 +136,12 @@ func (p Plugin) Exec() error {
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()
if err != nil {
@@ -141,7 +163,7 @@ func readStringOrFile(input string) (string, error) {
} else if err != nil {
return "", err
}
result, err := ioutil.ReadFile(input)
result, err := os.ReadFile(input)
if err != nil {
return "", err
}
+5 -5
View File
@@ -42,7 +42,7 @@ func (rc *releaseClient) buildRelease() (*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 {
return nil, err
}
@@ -65,7 +65,7 @@ func (rc *releaseClient) newRelease() (*gitea.Release, error) {
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 {
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 {
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 {
return fmt.Errorf("Failed to fetch existing assets: %s", err)
@@ -113,7 +113,7 @@ files:
for _, attachment := range attachments {
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)
}
@@ -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)
}
+8 -13
View File
@@ -9,11 +9,11 @@ import (
"hash/adler32"
"hash/crc32"
"io"
"io/ioutil"
"os"
"os/exec"
"strconv"
"strings"
"golang.org/x/crypto/blake2b"
"golang.org/x/crypto/blake2s"
)
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) {
b, err := ioutil.ReadAll(r)
b, err := io.ReadAll(r)
if err != nil {
return "", err
@@ -53,6 +44,10 @@ func checksum(r io.Reader, method string) (string, error) {
return strconv.FormatUint(uint64(adler32.Checksum(b)), 10), nil
case "crc32":
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)