[SKIP CI] ci: add caching (#99)
Reviewed-on: #99 Reviewed-by: grumbulon <grumbulon@grumbulon.xyz>
This commit is contained in:
parent
55b965d084
commit
ddd0277de9
1 changed files with 97 additions and 45 deletions
142
.drone.jsonnet
142
.drone.jsonnet
|
@ -1,92 +1,144 @@
|
|||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
local testing(version, arch) = {
|
||||
kind: "pipeline",
|
||||
type: "docker",
|
||||
name: version + "-" + arch ,
|
||||
kind: 'pipeline',
|
||||
type: 'docker',
|
||||
name: version + '-' + arch,
|
||||
platform: {
|
||||
arch: arch
|
||||
arch: arch,
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: "lint",
|
||||
image: "rancher/drone-golangci-lint:latest",
|
||||
name: 'lint',
|
||||
image: 'rancher/drone-golangci-lint:latest',
|
||||
},
|
||||
{
|
||||
name: "test",
|
||||
image: "golang:" + version,
|
||||
name: 'cache',
|
||||
image: 'golang:' + version,
|
||||
commands: [
|
||||
"make test-ci"
|
||||
'go mod tidy'
|
||||
],
|
||||
depends_on: [
|
||||
"lint",
|
||||
'lint',
|
||||
],
|
||||
volumes: [
|
||||
{
|
||||
name: 'cache',
|
||||
path: '/go',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "fuzz",
|
||||
image: "golang:" + version,
|
||||
name: 'test',
|
||||
image: 'golang:' + version,
|
||||
commands: [
|
||||
"make fuzz-ci",
|
||||
'make test-ci',
|
||||
],
|
||||
depends_on: [
|
||||
"lint",
|
||||
'cache',
|
||||
],
|
||||
volumes: [
|
||||
{
|
||||
name: 'cache',
|
||||
path: '/go',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'fuzz',
|
||||
image: 'golang:' + version,
|
||||
commands: [
|
||||
'make fuzz-ci',
|
||||
],
|
||||
depends_on: [
|
||||
'cache',
|
||||
],
|
||||
volumes: [
|
||||
{
|
||||
name: 'cache',
|
||||
path: '/go',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
trigger: {
|
||||
event: {
|
||||
exclude: [
|
||||
"tag"
|
||||
'tag',
|
||||
],
|
||||
}
|
||||
},
|
||||
},
|
||||
volumes: [
|
||||
{
|
||||
name: 'cache',
|
||||
temp: {},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
// "Inspired by" https://goreleaser.com/ci/drone/
|
||||
local release() = {
|
||||
kind: "pipeline",
|
||||
type: "docker",
|
||||
name: "release",
|
||||
kind: 'pipeline',
|
||||
type: 'docker',
|
||||
name: 'release',
|
||||
trigger: {
|
||||
event: [
|
||||
"tag"
|
||||
'tag',
|
||||
],
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: "fetch",
|
||||
image: "alpine/git",
|
||||
commands : [
|
||||
"git fetch --tags",
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "test",
|
||||
image: "golang",
|
||||
name: 'fetch',
|
||||
image: 'alpine/git',
|
||||
commands: [
|
||||
"make test-ci"
|
||||
]
|
||||
'git fetch --tags',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "release",
|
||||
image: "goreleaser/goreleaser",
|
||||
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"
|
||||
}
|
||||
GITEA_TOKEN: {
|
||||
from_secret: 'GITEA_TOKEN',
|
||||
},
|
||||
},
|
||||
commands: [
|
||||
"goreleaser release"
|
||||
'goreleaser release',
|
||||
],
|
||||
}
|
||||
]
|
||||
volumes: [
|
||||
{
|
||||
name: 'cache',
|
||||
path: '/go',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
volumes: [
|
||||
{
|
||||
name: 'cache',
|
||||
temp: {},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
[
|
||||
testing("1.19", "amd64"),
|
||||
testing("1.19", "arm64"),
|
||||
testing("1.18", "amd64"),
|
||||
testing("1.18", "arm64"),
|
||||
testing('1.19', 'amd64'),
|
||||
testing('1.19', 'arm64'),
|
||||
testing('1.18', 'amd64'),
|
||||
testing('1.18', 'arm64'),
|
||||
|
||||
release()
|
||||
]
|
||||
release(),
|
||||
]
|
||||
|
|
Loading…
Reference in a new issue