Compare commits
8 Commits
feature-ci
...
developmen
Author | SHA1 | Date | |
---|---|---|---|
be97641245 | |||
d2b5afe907 | |||
f58122320b | |||
06485ba003 | |||
8ed7525297 | |||
e11fd7fb72 | |||
4c67075f5f | |||
103bbfa528 |
@ -7,9 +7,6 @@ def main(ctx):
|
|||||||
"kind": "pipeline",
|
"kind": "pipeline",
|
||||||
"type": "docker",
|
"type": "docker",
|
||||||
"name": "golangci-lint",
|
"name": "golangci-lint",
|
||||||
"environment": {
|
|
||||||
"GOPROXY": "direct"
|
|
||||||
},
|
|
||||||
"steps": [
|
"steps": [
|
||||||
{
|
{
|
||||||
"name": "golangci-lint",
|
"name": "golangci-lint",
|
||||||
@ -33,9 +30,6 @@ def main(ctx):
|
|||||||
"node": {
|
"node": {
|
||||||
"r": "w"
|
"r": "w"
|
||||||
},
|
},
|
||||||
"environment": {
|
|
||||||
"GOPROXY": "direct"
|
|
||||||
},
|
|
||||||
"steps": [
|
"steps": [
|
||||||
{
|
{
|
||||||
"name": "pull nix",
|
"name": "pull nix",
|
||||||
@ -282,9 +276,6 @@ def main(ctx):
|
|||||||
"node": {
|
"node": {
|
||||||
"r": "w"
|
"r": "w"
|
||||||
},
|
},
|
||||||
"environment": {
|
|
||||||
"GOPROXY": "direct"
|
|
||||||
},
|
|
||||||
"steps": [
|
"steps": [
|
||||||
{
|
{
|
||||||
"name": "pull archlinux",
|
"name": "pull archlinux",
|
||||||
@ -362,9 +353,6 @@ def main(ctx):
|
|||||||
"node": {
|
"node": {
|
||||||
"r": "w"
|
"r": "w"
|
||||||
},
|
},
|
||||||
"environment": {
|
|
||||||
"GOPROXY": "direct"
|
|
||||||
},
|
|
||||||
"steps": [
|
"steps": [
|
||||||
{
|
{
|
||||||
"name": "pull fedora",
|
"name": "pull fedora",
|
||||||
|
@ -34,10 +34,8 @@ linters:
|
|||||||
- ineffassign
|
- ineffassign
|
||||||
# - ifshort
|
# - ifshort
|
||||||
- misspell
|
- misspell
|
||||||
- prealloc
|
# - prealloc # disable for now as it might be premature optimisation
|
||||||
- revive
|
- revive
|
||||||
- rowserrcheck
|
|
||||||
- sqlclosecheck
|
|
||||||
- unconvert
|
- unconvert
|
||||||
- unparam
|
- unparam
|
||||||
- varcheck
|
- varcheck
|
||||||
|
@ -45,13 +45,10 @@ repos:
|
|||||||
- repo: https://github.com/dnephin/pre-commit-golang
|
- repo: https://github.com/dnephin/pre-commit-golang
|
||||||
rev: v0.5.0
|
rev: v0.5.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: go-vet
|
- id: go-mod-tidy
|
||||||
- id: go-unit-tests
|
- id: go-unit-tests
|
||||||
- id: go-cyclo
|
|
||||||
args: [-over=15]
|
|
||||||
- id: golangci-lint
|
- id: golangci-lint
|
||||||
- id: go-build
|
- id: go-build
|
||||||
- id: go-mod-tidy
|
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
- id: nix-build
|
- id: nix-build
|
||||||
|
16
flake.lock
16
flake.lock
@ -16,6 +16,21 @@
|
|||||||
"type": "github"
|
"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": {
|
"nixgl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -55,6 +70,7 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
|
"nix-filter": "nix-filter",
|
||||||
"nixgl": "nixgl",
|
"nixgl": "nixgl",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
|
48
flake.nix
48
flake.nix
@ -10,11 +10,17 @@
|
|||||||
flake = false;
|
flake = false;
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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
|
let
|
||||||
|
|
||||||
|
projname = "go-xkcdreader";
|
||||||
|
|
||||||
# to work with older version of flakes
|
# to work with older version of flakes
|
||||||
lastModifiedDate =
|
lastModifiedDate =
|
||||||
self.lastModifiedDate or self.lastModified or "19700101";
|
self.lastModifiedDate or self.lastModified or "19700101";
|
||||||
@ -39,6 +45,10 @@
|
|||||||
});
|
});
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
|
formatter = forAllSystems (system:
|
||||||
|
nixpkgsFor.${system}.nixpkgs-fmt
|
||||||
|
);
|
||||||
|
|
||||||
packages = forAllSystems (system:
|
packages = forAllSystems (system:
|
||||||
let
|
let
|
||||||
pkgs = nixpkgsFor.${system};
|
pkgs = nixpkgsFor.${system};
|
||||||
@ -46,7 +56,7 @@
|
|||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
go-xkcdreader = with pkgs; buildGoModule rec {
|
go-xkcdreader = with pkgs; buildGoModule rec {
|
||||||
pname = "go-xkcdreader";
|
pname = "${projname}";
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gcc
|
gcc
|
||||||
libglvnd # instead of libGL
|
libglvnd # instead of libGL
|
||||||
@ -67,7 +77,7 @@
|
|||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
overrideModAttrs = _: {
|
overrideModAttrs = _: {
|
||||||
GOPROXY = "direct";
|
# GOPROXY = "direct";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -83,15 +93,35 @@
|
|||||||
|
|
||||||
modSha256 = lib.fakeSha256;
|
modSha256 = lib.fakeSha256;
|
||||||
# dont't forget to update vendorSha256 whenever go.mod or go.sum change
|
# 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 'nix develop', we don't need a copy of the source tree
|
||||||
# in the Nix store.
|
# 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 = {
|
meta = {
|
||||||
description = "an offline-capable xkcd webcomic reader written in Go";
|
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;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = [ "wanderer" ];
|
maintainers = [ "wanderer" ];
|
||||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||||
@ -105,7 +135,7 @@
|
|||||||
go-xkcdreader = {
|
go-xkcdreader = {
|
||||||
type = "app";
|
type = "app";
|
||||||
program =
|
program =
|
||||||
"${self.packages.${system}.go-xkcdreader}/bin/go-xkcdreader";
|
"${self.packages.${system}.${projname}}/bin/${projname}";
|
||||||
};
|
};
|
||||||
default = go-xkcdreader;
|
default = go-xkcdreader;
|
||||||
});
|
});
|
||||||
@ -138,7 +168,7 @@
|
|||||||
nix-store --query --references $(nix-instantiate shell.nix) | \
|
nix-store --query --references $(nix-instantiate shell.nix) | \
|
||||||
xargs nix-store --realise | \
|
xargs nix-store --realise | \
|
||||||
xargs nix-store --query --requisites | \
|
xargs nix-store --query --requisites | \
|
||||||
cachix push go-xkcdreader
|
cachix push ${projname}
|
||||||
'';
|
'';
|
||||||
add-license = pkgs.writeShellScriptBin "add-license" ''
|
add-license = pkgs.writeShellScriptBin "add-license" ''
|
||||||
go run github.com/google/addlicense@v1.0.0 -v \
|
go run github.com/google/addlicense@v1.0.0 -v \
|
||||||
@ -149,7 +179,7 @@
|
|||||||
{
|
{
|
||||||
default = with pkgs; mkShell
|
default = with pkgs; mkShell
|
||||||
{
|
{
|
||||||
name = "go-xkcdreader-" + version;
|
name = "${projname}-" + version;
|
||||||
|
|
||||||
GOFLAGS = "-buildmode=pie -trimpath -mod=readonly -modcacherw";
|
GOFLAGS = "-buildmode=pie -trimpath -mod=readonly -modcacherw";
|
||||||
GOLDFLAGS = "-s -w -X cmd.version=${version}";
|
GOLDFLAGS = "-s -w -X cmd.version=${version}";
|
||||||
|
Loading…
Reference in New Issue
Block a user