add starlark drone config
This commit is contained in:
parent
ffd84577a2
commit
649665154b
104
.drone.star
Normal file
104
.drone.star
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
def pipeline_build():
|
||||||
|
step_build = {
|
||||||
|
'image': 'xoxys/rpmbuild',
|
||||||
|
'name': 'build',
|
||||||
|
'environment': {
|
||||||
|
'CUPSRELEASE': '${DRONE_TAG##v}'
|
||||||
|
},
|
||||||
|
'commands': [
|
||||||
|
'[ -z "$CUPSRELEASE" ] && CUPSRELEASE=2.2.10',
|
||||||
|
'wget https://github.com/apple/cups/releases/download/v$CUPSRELEASE/cups-$CUPSRELEASE-source.tar.gz',
|
||||||
|
'mkdir ./rpms',
|
||||||
|
'rpmbuild -ta --define "_rpmdir $(pwd)/rpms" --without libusb1 cups-$CUPSRELEASE-source.tar.gz'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
step_checksum = {
|
||||||
|
'name': 'checksum',
|
||||||
|
'image': 'alpine',
|
||||||
|
'commands': [
|
||||||
|
'apk add --no-cache coreutils',
|
||||||
|
'sha256sum -b rpms/x86_64/* > sha256sum.txt'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
step_sign = {
|
||||||
|
'name': 'gpgsign',
|
||||||
|
'image': 'plugins/gpgsign:1',
|
||||||
|
'pull': 'always',
|
||||||
|
'settings': {
|
||||||
|
'key': { 'from_secret': 'gpgsign_key' },
|
||||||
|
'passphrase': { 'from_secret': 'gpgsign_passphrase' },
|
||||||
|
'detach_sign': True,
|
||||||
|
'files': [
|
||||||
|
'rpms/x86_64/*'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
'when': {
|
||||||
|
'ref': {
|
||||||
|
'exclude': ['refs/pull/**'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
step_publish = {
|
||||||
|
'name': 'publish',
|
||||||
|
'image': 'plugins/gitea-release',
|
||||||
|
'settings': {
|
||||||
|
'base_url': 'https://gitea.rknet.org',
|
||||||
|
'api_key': { 'from_secret': 'gitea_token' },
|
||||||
|
'files': [
|
||||||
|
'rpms/x86_64/*',
|
||||||
|
'sha256sum.txt'
|
||||||
|
],
|
||||||
|
'title': '${DRONE_TAG}'
|
||||||
|
},
|
||||||
|
'when': {
|
||||||
|
'ref': ['refs/tags/**'],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
'kind': 'pipeline',
|
||||||
|
'name': 'build',
|
||||||
|
'steps': [
|
||||||
|
step_build,
|
||||||
|
step_checksum,
|
||||||
|
step_sign,
|
||||||
|
step_publish
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def pipeline_notify(deps=[]):
|
||||||
|
step_matrix = {
|
||||||
|
'name': 'matrix',
|
||||||
|
'image': 'plugins/matrix',
|
||||||
|
'settings': {
|
||||||
|
'homeserver': 'https://matrix.rknet.org',
|
||||||
|
'roomid': 'MtidqQXWWAtQcByBhH:rknet.org',
|
||||||
|
'template': 'Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}',
|
||||||
|
'username': { 'from_secret': 'matrix_username' },
|
||||||
|
'password': { 'from_secret': 'matrix_password' },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
'kind': 'pipeline',
|
||||||
|
'name': 'notifications',
|
||||||
|
'steps': [
|
||||||
|
step_matrix,
|
||||||
|
],
|
||||||
|
'depends_on': deps,
|
||||||
|
'trigger': {
|
||||||
|
'ref': ['refs/heads/master', 'refs/tags/**'],
|
||||||
|
'status': [ 'success', 'failure' ],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
return [
|
||||||
|
pipeline_build(),
|
||||||
|
pipeline_notify(deps=[pipeline_build().get('name')])
|
||||||
|
]
|
150
.drone.yml
150
.drone.yml
|
@ -1,75 +1,91 @@
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: default
|
name: build
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: xoxys/rpmbuild
|
image: xoxys/rpmbuild
|
||||||
pull: always
|
commands:
|
||||||
environment:
|
- "[ -z \"$CUPSRELEASE\" ] && CUPSRELEASE=2.2.10"
|
||||||
CUPSRELEASE: "${DRONE_TAG##v}"
|
- wget https://github.com/apple/cups/releases/download/v$CUPSRELEASE/cups-$CUPSRELEASE-source.tar.gz
|
||||||
commands:
|
- mkdir ./rpms
|
||||||
- '[ -z "$CUPSRELEASE" ] && CUPSRELEASE=2.2.10'
|
- "rpmbuild -ta --define \"_rpmdir $(pwd)/rpms\" --without libusb1 cups-$CUPSRELEASE-source.tar.gz"
|
||||||
- wget https://github.com/apple/cups/releases/download/v$CUPSRELEASE/cups-$CUPSRELEASE-source.tar.gz
|
environment:
|
||||||
- mkdir ./rpms
|
CUPSRELEASE: "${DRONE_TAG##v}"
|
||||||
- rpmbuild -ta --define "_rpmdir $(pwd)/rpms" --without libusb1 cups-$CUPSRELEASE-source.tar.gz
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: checksum
|
- name: checksum
|
||||||
image: alpine
|
image: alpine
|
||||||
pull: always
|
commands:
|
||||||
commands:
|
- apk add --no-cache coreutils
|
||||||
- apk add --no-cache coreutils
|
- "sha256sum -b rpms/x86_64/* > sha256sum.txt"
|
||||||
- sha256sum -b rpms/x86_64/* > sha256sum.txt
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: gpgsign
|
- name: gpgsign
|
||||||
image: plugins/gpgsign:1
|
pull: always
|
||||||
pull: always
|
image: plugins/gpgsign:1
|
||||||
settings:
|
settings:
|
||||||
key:
|
detach_sign: true
|
||||||
from_secret: gpgsign_key
|
files:
|
||||||
passphrase:
|
- "rpms/x86_64/*"
|
||||||
from_secret: gpgsign_passphrase
|
key:
|
||||||
detach_sign: true
|
from_secret: gpgsign_key
|
||||||
files:
|
passphrase:
|
||||||
- rpms/x86_64/*
|
from_secret: gpgsign_passphrase
|
||||||
when:
|
when:
|
||||||
event:
|
ref:
|
||||||
- push
|
exclude:
|
||||||
- tag
|
- "refs/pull/**"
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
image: plugins/gitea-release
|
image: plugins/gitea-release
|
||||||
settings:
|
settings:
|
||||||
base_url: https://gitea.rknet.org
|
api_key:
|
||||||
api_key:
|
from_secret: gitea_token
|
||||||
from_secret: gitea_token
|
base_url: https://gitea.rknet.org
|
||||||
files:
|
files:
|
||||||
- rpms/x86_64/*
|
- "rpms/x86_64/*"
|
||||||
- sha256sum.txt
|
- sha256sum.txt
|
||||||
title: "${DRONE_TAG}"
|
title: "${DRONE_TAG}"
|
||||||
when:
|
when:
|
||||||
event:
|
ref:
|
||||||
- tag
|
- "refs/tags/**"
|
||||||
|
|
||||||
- name: notify
|
---
|
||||||
image: plugins/matrix
|
kind: pipeline
|
||||||
settings:
|
name: notifications
|
||||||
homeserver: https://matrix.rknet.org
|
|
||||||
roomid: MtidqQXWWAtQcByBhH:rknet.org
|
platform:
|
||||||
template: "Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}"
|
os: linux
|
||||||
username:
|
arch: amd64
|
||||||
from_secret: matrix_username
|
|
||||||
password:
|
steps:
|
||||||
from_secret: matrix_password
|
- name: matrix
|
||||||
when:
|
image: plugins/matrix
|
||||||
status:
|
settings:
|
||||||
- success
|
homeserver: https://matrix.rknet.org
|
||||||
- failure
|
password:
|
||||||
|
from_secret: matrix_password
|
||||||
|
roomid: MtidqQXWWAtQcByBhH:rknet.org
|
||||||
|
template: "Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}"
|
||||||
|
username:
|
||||||
|
from_secret: matrix_username
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- "refs/tags/**"
|
||||||
|
status:
|
||||||
|
- success
|
||||||
|
- failure
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: signature
|
||||||
|
hmac: 1ded387fbbaa7f8c65b0d80499e0c3bac52839f76e8a5530a5ca2ffd3032c02a
|
||||||
|
|
||||||
|
...
|
||||||
|
|
Loading…
Reference in New Issue
Block a user