176 lines
2.9 KiB
Text
176 lines
2.9 KiB
Text
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
local testing(version, arch) = {
|
|
kind: 'pipeline',
|
|
type: 'docker',
|
|
name: '%s-%s' % [version, arch],
|
|
platform: {
|
|
arch: arch,
|
|
},
|
|
steps: [
|
|
{
|
|
name: 'lint',
|
|
image: 'golangci/golangci-lint',
|
|
commands: [
|
|
'golangci-lint run ./...',
|
|
],
|
|
},
|
|
{
|
|
name: 'cache',
|
|
image: 'golang:%s' % [version],
|
|
commands: [
|
|
'go mod tidy',
|
|
],
|
|
depends_on: [
|
|
'lint',
|
|
],
|
|
volumes: [
|
|
{
|
|
name: 'cache',
|
|
path: '/go',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'test',
|
|
image: 'golang:%s' % [version],
|
|
commands: [
|
|
'make test-ci',
|
|
],
|
|
depends_on: [
|
|
'cache',
|
|
],
|
|
volumes: [
|
|
{
|
|
name: 'cache',
|
|
path: '/go',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'fuzz',
|
|
image: 'golang:%s' % [version],
|
|
commands: [
|
|
'make fuzz-ci',
|
|
],
|
|
depends_on: [
|
|
'cache',
|
|
],
|
|
volumes: [
|
|
{
|
|
name: 'cache',
|
|
path: '/go',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
trigger: {
|
|
event: {
|
|
exclude: [
|
|
'tag',
|
|
],
|
|
},
|
|
},
|
|
volumes: [
|
|
{
|
|
name: 'cache',
|
|
temp: {},
|
|
},
|
|
],
|
|
};
|
|
|
|
// "Inspired by" https://goreleaser.com/ci/drone/
|
|
local release() = {
|
|
kind: 'pipeline',
|
|
type: 'docker',
|
|
name: 'release',
|
|
clone: {
|
|
disable: true,
|
|
},
|
|
trigger: {
|
|
event: [
|
|
'tag',
|
|
],
|
|
},
|
|
steps: [
|
|
{
|
|
name: 'clone',
|
|
image: 'woodpeckerci/plugin-git',
|
|
settings: {
|
|
tags: true,
|
|
},
|
|
},
|
|
{
|
|
name: 'test',
|
|
image: 'golang',
|
|
commands: [
|
|
'make test-ci',
|
|
],
|
|
volumes: [
|
|
{
|
|
name: 'cache',
|
|
path: '/go',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'release',
|
|
image: 'goreleaser/goreleaser',
|
|
environment: {
|
|
GITEA_TOKEN: {
|
|
from_secret: 'GITEA_TOKEN',
|
|
},
|
|
},
|
|
commands: [
|
|
'apk add --no-cache scdoc',
|
|
'goreleaser release',
|
|
],
|
|
volumes: [
|
|
{
|
|
name: 'cache',
|
|
path: '/go',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'package',
|
|
image: 'git.freecumextremist.com/notsam/drone-gitea-push-packages',
|
|
settings: {
|
|
base_url: 'https://git.froth.zone',
|
|
owner: 'sam',
|
|
project_name: 'awl',
|
|
package_name: 'awl-dns',
|
|
username: 'sam',
|
|
password: {
|
|
from_secret: 'GITEA_TOKEN',
|
|
},
|
|
architectures: [
|
|
'amd64',
|
|
'arm64',
|
|
'386',
|
|
'armv6',
|
|
],
|
|
package_types: [
|
|
'deb',
|
|
'apk',
|
|
'rpm',
|
|
],
|
|
},
|
|
},
|
|
],
|
|
volumes: [
|
|
{
|
|
name: 'cache',
|
|
temp: {},
|
|
},
|
|
],
|
|
};
|
|
|
|
[
|
|
testing('1.20', 'amd64'),
|
|
testing('1.20', 'arm64'),
|
|
testing('1.21', 'amd64'),
|
|
testing('1.21', 'arm64'),
|
|
|
|
release(),
|
|
]
|