ci: add .drone.star + badges
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
43b9d611a2
commit
0f8f3bbef3
|
@ -0,0 +1,290 @@
|
|||
# Copyright 2022 wanderer <a_mirre at utb dot cz>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
def main(ctx):
|
||||
return [
|
||||
{
|
||||
"kind": "pipeline",
|
||||
"type": "docker",
|
||||
"name": "nix",
|
||||
"node": {
|
||||
"r": "w"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "pull nix",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "always",
|
||||
"depends_on": ["clone"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nix",
|
||||
"path": "/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"uname -r",
|
||||
"nix --version"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "enable flakes",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["pull nix"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nix",
|
||||
"path": "/nix"
|
||||
},
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"cat /etc/nix/nix.conf",
|
||||
"echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf",
|
||||
"cat /etc/nix/nix.conf"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "enable sandbox",
|
||||
"image": "docker.io/library/busybox",
|
||||
"pull": "always",
|
||||
"depends_on": ["enable flakes"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nix",
|
||||
"path": "/nix"
|
||||
},
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"cat /etc/nix/nix.conf",
|
||||
"sed -i 's/^sandbox = false/sandbox = true/' /etc/nix/nix.conf",
|
||||
"cat /etc/nix/nix.conf"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "set up cachix",
|
||||
"image": "docker.io/immawanderer/nix-cachix-glibc",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["enable sandbox"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"cat /etc/nix/nix.conf",
|
||||
"cachix use ${DRONE_REPO_NAME}",
|
||||
"cat /etc/nix/nix.conf"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nix-fmt",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "always",
|
||||
"depends_on": ["enable sandbox"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"nix fmt -- --version",
|
||||
"nix fmt -- --check . || " +
|
||||
"(echo 'nix code unformatted! run `nix fmt` to fix it' && exit 1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "statix",
|
||||
"image": "docker.io/immawanderer/nix-statix:linux-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["enable flakes"],
|
||||
"commands": [
|
||||
"statix --version",
|
||||
"statix check ."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nix flake check",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["statix", "enable sandbox"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"nix flake check --keep-going"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nix flake show",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["nix flake check"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"nix flake show"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nix flake metadata",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["nix flake check"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"nix flake metadata"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "go test",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["set up cachix"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nix",
|
||||
"path": "/nix"
|
||||
},
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
},
|
||||
{
|
||||
"name": "gopath",
|
||||
"path": "/root/go"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"nix develop --command go test -cover ./..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nix build",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["nix-fmt", "set up cachix", "nix flake check"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nix",
|
||||
"path": "/nix"
|
||||
},
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
},
|
||||
{
|
||||
"name": "gopath",
|
||||
"path": "/root/go"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"nix build .#${DRONE_REPO_NAME}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ldd",
|
||||
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
||||
"pull": "if-not-exists",
|
||||
"depends_on": ["nix build"],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nix",
|
||||
"path": "/nix"
|
||||
},
|
||||
{
|
||||
"name": "nixconf",
|
||||
"path": "/etc/nix"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
"nix develop --command ldd result/bin/${DRONE_REPO_NAME} || true"
|
||||
]
|
||||
}
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "nix",
|
||||
"temp": {}
|
||||
},
|
||||
{
|
||||
"name": "nixconf",
|
||||
"temp": {}
|
||||
},
|
||||
{
|
||||
"name": "gopath",
|
||||
"temp": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind": "pipeline",
|
||||
"type": "docker",
|
||||
"name": "golangci-lint",
|
||||
"steps": [
|
||||
{
|
||||
"name": "golangci-lint",
|
||||
"image": "docker.io/immawanderer/archlinux-go-fyne:linux-amd64",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"curl -sSfL " +
|
||||
"https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh"+
|
||||
" | sh -s -- -b $(go env GOPATH)/bin v1.46.2",
|
||||
"export PATH=\"$(go env GOPATH)/bin:$PATH\"",
|
||||
"golangci-lint --version",
|
||||
"golangci-lint run -v --timeout 5m"
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "trigger refresh",
|
||||
"image": "docker.io/curlimages/curl:7.83.1",
|
||||
"pull": "if-not-exists",
|
||||
"trigger": {
|
||||
"ref": {
|
||||
"include": [
|
||||
"refs/tags/**",
|
||||
"refs/heads/development"
|
||||
],
|
||||
"exclude": [
|
||||
"refs/pull/**"
|
||||
]
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
"uname -r",
|
||||
"curl --version",
|
||||
"curl " +
|
||||
"-sS " +
|
||||
"-X POST " +
|
||||
"-F \"repo=git.dotya.ml/${DRONE_REPO}\" " +
|
||||
"https://goreportcard.com/checks " +
|
||||
"-o /dev/null"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
# vim: ft=bzl.starlark syntax=bzl.starlark noexpandtab ts=4 foldmethod=manual
|
|
@ -1,3 +1,4 @@
|
|||
*.go diff=golang
|
||||
*.md diff=markdown
|
||||
*.vimrc linguist-language=vim
|
||||
*.star linguist-language=Starlark
|
||||
|
|
|
@ -7,6 +7,10 @@ math-optim
|
|||
|
||||
.vimrc
|
||||
|
||||
# drone starlark command used for "test-conversion" to yaml (by default)
|
||||
# produces .drone.yml, hence ignore the generated .drone.yml
|
||||
.drone.yml
|
||||
|
||||
# coverage or other binary files
|
||||
*.out
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@ # [`math-optim`](https://git.dotya.ml/wanderer/math-optim)
|
|||
> solving a few mathematical optimisation tasks using well-known algorithms
|
||||
|
||||
[![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org)
|
||||
[![Build Status](https://drone.dotya.ml/api/badges/wanderer/math-optim/status.svg?ref=refs/heads/development)](https://drone.dotya.ml/wanderer/math-optim)
|
||||
[![Go Report Card](https://goreportcard.com/badge/git.dotya.ml/wanderer/math-optim)](https://goreportcard.com/report/git.dotya.ml/wanderer/math-optim)
|
||||
|
||||
this repo holds the *sawce* of the semestral project for the Mathematical
|
||||
Informatics course.
|
||||
|
|
Loading…
Reference in New Issue