surtur
226f181e6d
All checks were successful
continuous-integration/drone/push Build is passing
also add build status badge to README.md
306 lines
6.2 KiB
Plaintext
306 lines
6.2 KiB
Plaintext
# vim: ft=bzl.starlark noexpandtab tw=4 ts=4
|
|
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": "nixpkgs-fmt",
|
|
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
|
"pull": "if-not-exists",
|
|
"depends_on": ["pull nix"],
|
|
"volumes": [
|
|
{
|
|
"name": "nix",
|
|
"path": "/nix"
|
|
}
|
|
],
|
|
"commands": [
|
|
"nix-env -iA nixpkgs.nixpkgs-fmt",
|
|
"nixpkgs-fmt --check . || (echo 'run `nixpkgs-fmt .` to fix it' && exit 1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "statix",
|
|
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
|
"pull": "if-not-exists",
|
|
"depends_on": ["enable sandbox"],
|
|
"volumes": [
|
|
{
|
|
"name": "nixconf",
|
|
"path": "/etc/nix"
|
|
}
|
|
],
|
|
"commands": [
|
|
"nix-channel --update && nix-env -iA nixpkgs.statix",
|
|
"statix --version",
|
|
"statix check ."
|
|
]
|
|
},
|
|
{
|
|
"name": "nix flake check",
|
|
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
|
"pull": "if-not-exists",
|
|
# "depends_on": ["nixpkgs-fmt", "statix"],
|
|
"depends_on": ["nixpkgs-fmt"],
|
|
"volumes": [
|
|
{
|
|
"name": "nixconf",
|
|
"path": "/etc/nix"
|
|
}
|
|
],
|
|
"commands": [
|
|
"cat /etc/nix/nix.conf",
|
|
"NIXPKGS_ALLOW_BROKEN=1 nix flake check --impure"
|
|
]
|
|
},
|
|
{
|
|
"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": "pre-build",
|
|
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
|
"pull": "if-not-exists",
|
|
"depends_on": ["nixpkgs-fmt"],
|
|
"volumes": [
|
|
{
|
|
"name": "nix",
|
|
"path": "/nix"
|
|
},
|
|
{
|
|
"name": "nixconf",
|
|
"path": "/etc/nix"
|
|
}
|
|
],
|
|
"commands": [
|
|
"nix-env -iA nixpkgs.cachix nixpkgs.glibc",
|
|
"cachix use go-xkcdreader",
|
|
]
|
|
},
|
|
{
|
|
"name": "nix-build",
|
|
"image": "docker.io/nixos/nix:2.8.0-amd64",
|
|
"pull": "if-not-exists",
|
|
# "depends_on": ["nix flake check", "statix", "pre-build"],
|
|
"depends_on": ["statix", "pre-build"],
|
|
"volumes": [
|
|
{
|
|
"name": "nix",
|
|
"path": "/nix"
|
|
},
|
|
{
|
|
"name": "nixconf",
|
|
"path": "/etc/nix"
|
|
}
|
|
],
|
|
"commands": [
|
|
"cat /etc/nix/nix.conf",
|
|
"nix build .#go-xkcdreader"
|
|
]
|
|
},
|
|
{
|
|
"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": [
|
|
"ldd result/bin/go-xkcdreader"
|
|
]
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "nix",
|
|
"temp": {}
|
|
},
|
|
{
|
|
"name": "nixconf",
|
|
"temp": {}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "pipeline",
|
|
"type": "docker",
|
|
"name": "archlinux",
|
|
"node": {
|
|
"r": "w"
|
|
},
|
|
"steps": [
|
|
{
|
|
"name": "pull archlinux",
|
|
"image": "docker.io/immawanderer/archlinux-go-fyne:linux-amd64",
|
|
"pull": "always",
|
|
"depends_on": ["clone"],
|
|
"commands": [
|
|
"uname -r",
|
|
"cat /etc/os-release"
|
|
]
|
|
},
|
|
{
|
|
"name": "build",
|
|
"image": "docker.io/immawanderer/archlinux-go-fyne:linux-amd64",
|
|
"pull": "always",
|
|
"depends_on": ["pull archlinux"],
|
|
"commands": [
|
|
"go version",
|
|
"gcc --version",
|
|
"go build -v ."
|
|
]
|
|
},
|
|
{
|
|
"name": "ldd",
|
|
"image": "docker.io/immawanderer/archlinux-go-fyne:linux-amd64",
|
|
"pull": "always",
|
|
"depends_on": ["build"],
|
|
"commands": [
|
|
"ldd --version",
|
|
"ldd go-xkcdreader"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "pipeline",
|
|
"type": "docker",
|
|
"name": "fedora",
|
|
"node": {
|
|
"r": "w"
|
|
},
|
|
"steps": [
|
|
{
|
|
"name": "pull fedora",
|
|
"image": "docker.io/immawanderer/fedora-go-fyne:linux-amd64",
|
|
"pull": "always",
|
|
"depends_on": ["clone"],
|
|
"commands": [
|
|
"uname -r",
|
|
"cat /etc/os-release"
|
|
]
|
|
},
|
|
{
|
|
"name": "build",
|
|
"image": "docker.io/immawanderer/fedora-go-fyne:linux-amd64",
|
|
"pull": "always",
|
|
"depends_on": ["pull fedora"],
|
|
"commands": [
|
|
"go version",
|
|
"gcc --version",
|
|
"go build ."
|
|
]
|
|
},
|
|
{
|
|
"name": "ldd",
|
|
"image": "docker.io/immawanderer/fedora-go-fyne:linux-amd64",
|
|
"pull": "always",
|
|
"depends_on": ["build"],
|
|
"commands": [
|
|
"ldd --version",
|
|
"ldd go-xkcdreader"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
|