Compare commits
8 Commits
feature-dr
...
developmen
Author | SHA1 | Date | |
---|---|---|---|
be97641245 | |||
d2b5afe907 | |||
f58122320b | |||
06485ba003 | |||
8ed7525297 | |||
e11fd7fb72 | |||
4c67075f5f | |||
103bbfa528 |
@ -7,39 +7,11 @@ def main(ctx):
|
||||
"kind": "pipeline",
|
||||
"type": "docker",
|
||||
"name": "golangci-lint",
|
||||
"clone": {"disable": True},
|
||||
"environment": {
|
||||
"GOPROXY": "direct"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "skip-check",
|
||||
"image": "docker.io/immawanderer/drone-skip-pipeline:linux-amd64",
|
||||
"pull": "always",
|
||||
"settings": {
|
||||
"rules": [
|
||||
"*.go",
|
||||
"*.sum",
|
||||
"*.mod",
|
||||
".golangci.yml"
|
||||
]
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "clone",
|
||||
"image": "docker.io/alpine/git",
|
||||
"pull": "always",
|
||||
"depends_on": ["skip-check"],
|
||||
"commands": [
|
||||
"git clone ${DRONE_GIT_HTTP_URL} .",
|
||||
"git checkout ${DRONE_COMMIT}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "golangci-lint",
|
||||
"image": "docker.io/immawanderer/archlinux-go-fyne:linux-amd64",
|
||||
"pull": "always",
|
||||
"depends_on": ["clone"],
|
||||
"commands": [
|
||||
"curl -sSfL " +
|
||||
"https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh"+
|
||||
@ -58,9 +30,6 @@ def main(ctx):
|
||||
"node": {
|
||||
"r": "w"
|
||||
},
|
||||
"environment": {
|
||||
"GOPROXY": "direct"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "pull nix",
|
||||
@ -307,9 +276,6 @@ def main(ctx):
|
||||
"node": {
|
||||
"r": "w"
|
||||
},
|
||||
"environment": {
|
||||
"GOPROXY": "direct"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "pull archlinux",
|
||||
@ -387,9 +353,6 @@ def main(ctx):
|
||||
"node": {
|
||||
"r": "w"
|
||||
},
|
||||
"environment": {
|
||||
"GOPROXY": "direct"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "pull fedora",
|
||||
|
@ -34,10 +34,8 @@ linters:
|
||||
- ineffassign
|
||||
# - ifshort
|
||||
- misspell
|
||||
- prealloc
|
||||
# - prealloc # disable for now as it might be premature optimisation
|
||||
- revive
|
||||
- rowserrcheck
|
||||
- sqlclosecheck
|
||||
- unconvert
|
||||
- unparam
|
||||
- varcheck
|
||||
|
@ -45,13 +45,10 @@ repos:
|
||||
- repo: https://github.com/dnephin/pre-commit-golang
|
||||
rev: v0.5.0
|
||||
hooks:
|
||||
- id: go-vet
|
||||
- id: go-mod-tidy
|
||||
- id: go-unit-tests
|
||||
- id: go-cyclo
|
||||
args: [-over=15]
|
||||
- id: golangci-lint
|
||||
- id: go-build
|
||||
- id: go-mod-tidy
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: nix-build
|
||||
|
16
flake.lock
16
flake.lock
@ -16,6 +16,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-filter": {
|
||||
"locked": {
|
||||
"lastModified": 1653590866,
|
||||
"narHash": "sha256-E4yKIrt/S//WfW5D9IhQ1dVuaAy8RE7EiCMfnbrOC78=",
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"rev": "3e81a637cdf9f6e9b39aeb4d6e6394d1ad158e16",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixgl": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -55,6 +70,7 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nix-filter": "nix-filter",
|
||||
"nixgl": "nixgl",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
|
48
flake.nix
48
flake.nix
@ -10,11 +10,17 @@
|
||||
flake = false;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-filter = {
|
||||
url = "github:numtide/nix-filter";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixgl, nixpkgs, ... }:
|
||||
outputs = { self, nixgl, nix-filter, nixpkgs, ... }:
|
||||
let
|
||||
|
||||
projname = "go-xkcdreader";
|
||||
|
||||
# to work with older version of flakes
|
||||
lastModifiedDate =
|
||||
self.lastModifiedDate or self.lastModified or "19700101";
|
||||
@ -39,6 +45,10 @@
|
||||
});
|
||||
in
|
||||
rec {
|
||||
formatter = forAllSystems (system:
|
||||
nixpkgsFor.${system}.nixpkgs-fmt
|
||||
);
|
||||
|
||||
packages = forAllSystems (system:
|
||||
let
|
||||
pkgs = nixpkgsFor.${system};
|
||||
@ -46,7 +56,7 @@
|
||||
in
|
||||
rec {
|
||||
go-xkcdreader = with pkgs; buildGoModule rec {
|
||||
pname = "go-xkcdreader";
|
||||
pname = "${projname}";
|
||||
buildInputs = [
|
||||
gcc
|
||||
libglvnd # instead of libGL
|
||||
@ -67,7 +77,7 @@
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
overrideModAttrs = _: {
|
||||
GOPROXY = "direct";
|
||||
# GOPROXY = "direct";
|
||||
};
|
||||
|
||||
inherit version;
|
||||
@ -83,15 +93,35 @@
|
||||
|
||||
modSha256 = lib.fakeSha256;
|
||||
# dont't forget to update vendorSha256 whenever go.mod or go.sum change
|
||||
vendorSha256 = "sha256-gaIoacCs0PcvmFW8dQOFUb9KU1u6KUiFmGQ/ERcVwjc=";
|
||||
vendorSha256 = "sha256-LvdcTbj8cFlaIBsq1VLfLF2Tu9HiZzGO8igD766nMLE=";
|
||||
|
||||
# In 'nix develop', we don't need a copy of the source tree
|
||||
# in the Nix store.
|
||||
src = lib.cleanSource ./.;
|
||||
src = nix-filter.lib.filter {
|
||||
root = lib.cleanSource ./.;
|
||||
exclude = [
|
||||
./flake.nix
|
||||
./flake.lock
|
||||
./default.nix
|
||||
./shell.nix
|
||||
|
||||
./check-fmt
|
||||
./README.md
|
||||
./LICENSE
|
||||
|
||||
./.drone.starlark
|
||||
./.envrc
|
||||
./.example.vimrc
|
||||
./.gitattributes
|
||||
./.gitignore
|
||||
./.golangci.yml
|
||||
./.pre-commit-config.yaml
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "an offline-capable xkcd webcomic reader written in Go";
|
||||
homepage = "https://git.dotya.ml/wanderer/go-xkcdreader";
|
||||
homepage = "https://git.dotya.ml/wanderer/${projname}";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ "wanderer" ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
@ -105,7 +135,7 @@
|
||||
go-xkcdreader = {
|
||||
type = "app";
|
||||
program =
|
||||
"${self.packages.${system}.go-xkcdreader}/bin/go-xkcdreader";
|
||||
"${self.packages.${system}.${projname}}/bin/${projname}";
|
||||
};
|
||||
default = go-xkcdreader;
|
||||
});
|
||||
@ -138,7 +168,7 @@
|
||||
nix-store --query --references $(nix-instantiate shell.nix) | \
|
||||
xargs nix-store --realise | \
|
||||
xargs nix-store --query --requisites | \
|
||||
cachix push go-xkcdreader
|
||||
cachix push ${projname}
|
||||
'';
|
||||
add-license = pkgs.writeShellScriptBin "add-license" ''
|
||||
go run github.com/google/addlicense@v1.0.0 -v \
|
||||
@ -149,7 +179,7 @@
|
||||
{
|
||||
default = with pkgs; mkShell
|
||||
{
|
||||
name = "go-xkcdreader-" + version;
|
||||
name = "${projname}-" + version;
|
||||
|
||||
GOFLAGS = "-buildmode=pie -trimpath -mod=readonly -modcacherw";
|
||||
GOLDFLAGS = "-s -w -X cmd.version=${version}";
|
||||
|
Loading…
Reference in New Issue
Block a user