add drone-runner-docker

This commit is contained in:
Charlotte 🦝 Delenk 2022-09-25 17:06:38 +01:00
parent dfcec283ac
commit 6737832252
Signed by: darkkirb
GPG key ID: AB2BD8DAF2E37122
9 changed files with 74 additions and 285 deletions

View file

@ -1,20 +1,25 @@
{ stdenv, fetchgit, lib }: let
{
stdenv,
fetchgit,
lib,
}: let
srcInfo = builtins.fromJSON (builtins.readFile ./source.json);
src = fetchgit {
inherit (srcInfo) url rev sha256 fetchLFS fetchSubmodules deepClone leaveDotGit;
};
in src.overrideAttrs (_: rec {
name = "${pname}-${version}";
pname = "lotte-art";
version = srcInfo.date;
passthru.updateScript = [
../../scripts/update-git.sh
"https://git.chir.rs/darkkirb/lotte-art"
"art/lotte/source.json"
"--fetch-lfs"
];
meta = {
description = "Art I commissioned (mostly)";
license = lib.licenses.cc-by-nc-sa-40;
};
})
in
src.overrideAttrs (_: rec {
name = "${pname}-${version}";
pname = "lotte-art";
version = srcInfo.date;
passthru.updateScript = [
../../scripts/update-git.sh
"https://git.chir.rs/darkkirb/lotte-art"
"art/lotte/source.json"
"--fetch-lfs"
];
meta = {
description = "Art I commissioned (mostly)";
license = lib.licenses.cc-by-nc-sa-40;
};
})

View file

@ -1,15 +1,36 @@
{
pkgs,
inputs,
...
} @ args: let
inherit ((pkgs.callPackage "${inputs.gomod2nix}/builder" {})) buildGoApplication;
in {
drone-runner-docker = buildGoApplication rec {
pname = "drone-runner-docker";
version = inputs.drone-runner-docker.lastModifiedDate;
src = pkgs.callPackage ./source.nix {};
proxyVendor = true;
modules = ./gomod2nix.toml;
fetchFromGitHub,
buildGoModule,
}: let
source = builtins.fromJSON (builtins.readFile ./source.json);
src = fetchFromGitHub {
owner = "drone-runners";
repo = "drone-runner-docker";
inherit (source) rev sha256;
};
}
in
buildGoModule {
pname = "drone-runner-docker";
version = source.date;
inherit src;
vendorSha256 = builtins.readFile ./goVendor.hash;
proxyVendor = true;
meta = {
description = "Docker executor for drone";
license = [
{
free = false;
fullName = "PolyForm Small Business License 1.0.0";
redistributable = true;
spdxId = "PolyForm-Small-Business-1.0.0";
url = "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.html";
}
{
free = false;
fullName = "PolyForm Free Trial License 1.0.0";
redistributable = true;
url = "https://polyformproject.org/licenses/free-trial/1.0.0/";
}
];
};
}

View file

@ -0,0 +1 @@
sha256-E4VV1sM408eXtOFCewOWG275rbqbomlVFw8nZI6uN0E=

View file

@ -1,217 +0,0 @@
schema = 3
[mod]
[mod."cloud.google.com/go"]
version = "v0.26.0"
hash = "sha256-VZjIft7Xp7HLMgv4SNqZAOtkdCVVYeJmflKd3f2VLEw="
[mod."github.com/99designs/basicauth-go"]
version = "v0.0.0-20160802081356-2a93ba0f464d"
hash = "sha256-QCpZVmFlJtTIUEds7vfNjuDbHhulSccCCeChipD69C0="
[mod."github.com/99designs/httpsignatures-go"]
version = "v0.0.0-20170731043157-88528bf4ca7e"
hash = "sha256-6kEDpPc4bgDOBfZ7+rvwxoMYvc3HEVhRpWcyLxm8G4M="
[mod."github.com/Azure/go-ansiterm"]
version = "v0.0.0-20170929234023-d6e3b3328b78"
hash = "sha256-OPSOVNWduO7IQ8PK9NetjeHAyMbMmrU37Sy5CWeGEwQ="
[mod."github.com/BurntSushi/toml"]
version = "v0.3.1"
hash = "sha256-Rqak1dE/Aj/+Kx1/pl3Hifgt+Q3OzuZ5fJR+/x3nTbo="
[mod."github.com/Microsoft/go-winio"]
version = "v0.4.11"
hash = "sha256-dovTHQyjwKXW4wAynZrLw4yaEGzoiZ2A/2PdkX1+wZM="
[mod."github.com/alecthomas/template"]
version = "v0.0.0-20160405071501-a0175ee3bccc"
hash = "sha256-sjuHfqM34m9uL7muq2JwZsj2HPRNuYSdZ2FuI+DeT2I="
[mod."github.com/alecthomas/units"]
version = "v0.0.0-20151022065526-2efee857e7cf"
hash = "sha256-dJWY/6oZSgkTQIdm+P5/lR/gWHZLXZZozUunhUNaxcg="
[mod."github.com/bmatcuk/doublestar"]
version = "v1.1.1"
hash = "sha256-mcR+gZ11pja98RwW7eN6T6TwC07ujPmQ8CcyH45r//0="
[mod."github.com/buildkite/yaml"]
version = "v2.1.0+incompatible"
hash = "sha256-GnvviYeQD24hLkBKR+1ye9Cng+Ohy0hjvabPl+5z6kw="
[mod."github.com/census-instrumentation/opencensus-proto"]
version = "v0.2.1"
hash = "sha256-3RWTfGGuKbkrOQ91ociOgp9igGvU/FAv3NAidPVoYP8="
[mod."github.com/client9/misspell"]
version = "v0.3.4"
hash = "sha256-MIKnt4va/nPl+5cCgOvCyRGIORTnguieQhlj8ery4BU="
[mod."github.com/cncf/udpa/go"]
version = "v0.0.0-20191209042840-269d4d468f6f"
hash = "sha256-JlRNsGlsFT/TOvrZlXVainUeZqZPthB+WsXMY2RXZlU="
[mod."github.com/containerd/containerd"]
version = "v1.3.4"
hash = "sha256-cRPi20HAvyyK6ygi6o44Y9XQpMVgxOPEKhIjo6/SQf0="
[mod."github.com/coreos/go-semver"]
version = "v0.3.0"
hash = "sha256-ielBK5+kGscOuygfFNNr5iKuuF1qKBiXLlK8eGuA4Bw="
[mod."github.com/davecgh/go-spew"]
version = "v1.1.1"
hash = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI="
[mod."github.com/dchest/uniuri"]
version = "v0.0.0-20160212164326-8902c56451e9"
hash = "sha256-pD0xuQK3r1b06STcVf7lOijlKFsZtG/S1vBSG+rSq/Q="
[mod."github.com/docker/distribution"]
version = "v2.7.1+incompatible"
hash = "sha256-8AFnEYjwqs8AzpSNBYgKmbUfFiCAxS+UH5SBFSuEctc="
[mod."github.com/docker/docker"]
version = "v17.12.0-ce-rc1.0.20200309214505-aa6a9891b09c+incompatible"
hash = "sha256-oeenLSRGL2UuVw6TV1gAeptmAyrY+57Z+Ct+g/KChV4="
replaced = "github.com/docker/engine"
[mod."github.com/docker/go-connections"]
version = "v0.3.0"
hash = "sha256-YHk3Xm0yuUpEPqX+ePg1k8IYdG48ZifX97Dyq1CeN2w="
[mod."github.com/docker/go-units"]
version = "v0.4.0"
hash = "sha256-f9d4OzZqYcsgP2gqutTPRju5BVFz4/pzefgSipGSD00="
[mod."github.com/drone/drone-go"]
version = "v1.7.1"
hash = "sha256-BFCsbhPEVcTxf674E/YRv9+3ghNtaZMyq98BPIIax3s="
[mod."github.com/drone/envsubst"]
version = "v1.0.3"
hash = "sha256-U5wi+PAdrawE1RafI1Cf6mQ5Br68xFQtgBO9b6uivpo="
[mod."github.com/drone/runner-go"]
version = "v1.12.0"
hash = "sha256-2OQo7Wu8HCg9t4TRBm/GiYAu8o/y7z9gPn2qLldvR8k="
[mod."github.com/drone/signal"]
version = "v1.0.0"
hash = "sha256-67+pYmhd9KSFPhIIw3Ilot8FsE9zACaGtFTSLPBc5BI="
[mod."github.com/envoyproxy/go-control-plane"]
version = "v0.9.4"
hash = "sha256-CQ4+UStz40aYqT2hGGNw85EG1Q0N0sQ2CLNOpPyAJfY="
[mod."github.com/envoyproxy/protoc-gen-validate"]
version = "v0.1.0"
hash = "sha256-2htufg3hdOHfbDVI5wFpsuaiDIhH6O1taUGJMdVbjlQ="
[mod."github.com/ghodss/yaml"]
version = "v1.0.0"
hash = "sha256-D+2i+EwF2YptR0m/OG4WIVVLL7tUC7XvgRQef2usfGo="
[mod."github.com/gogo/protobuf"]
version = "v0.0.0-20170307180453-100ba4e88506"
hash = "sha256-VtXv0Z1hSa204yV+sM5F7vCauds5nfJO/sCGfoNELbs="
[mod."github.com/golang/glog"]
version = "v0.0.0-20160126235308-23def4e6c14b"
hash = "sha256-YDyL9TRikSXHSrYtITVA/ovYIYrdnZGym14XnslAYkk="
[mod."github.com/golang/mock"]
version = "v1.1.1"
hash = "sha256-MFLrbygqwXNwXcaoRFgMQPC+g0gK4FyV6qopobXtOz0="
[mod."github.com/golang/protobuf"]
version = "v1.3.3"
hash = "sha256-iN3MrKtLrS/Fm5GJVuggD0ue0CFm0sfGNRMRsKU5130="
[mod."github.com/google/go-cmp"]
version = "v0.3.0"
hash = "sha256-Uq5Hevk9jCVtOwrHZqhPPYc3KX/oKJmqoFB/Msjo3cM="
[mod."github.com/gorilla/mux"]
version = "v1.7.4"
hash = "sha256-sPJxkd0vb0EQa+c4iADARKibtDFnXE0Qi6UApW7wGrQ="
[mod."github.com/hashicorp/errwrap"]
version = "v1.0.0"
hash = "sha256-LGSLrefkABG1kH1i+GUWiD2/ggJxiZEJ+D2YNbhZjmo="
[mod."github.com/hashicorp/go-multierror"]
version = "v1.0.0"
hash = "sha256-iXzjerl96o7QDiSwQjbak8R/t+YzZeoUqm59TCmy3gI="
[mod."github.com/joho/godotenv"]
version = "v1.3.0"
hash = "sha256-Vd43lAoKpbEeunlMySqf/TrfUckcxcHIk6YPdoGLKGY="
[mod."github.com/kelseyhightower/envconfig"]
version = "v1.4.0"
hash = "sha256-SeLQlQXYAwCbFi/TIF3wpd0v+aB689PWI+njK20Z66g="
[mod."github.com/konsorten/go-windows-terminal-sequences"]
version = "v1.0.1"
hash = "sha256-Nwp+Cza9dIu3ogVGip6wyOjWwwaq+2hU3eYIe4R7kNE="
[mod."github.com/kr/pretty"]
version = "v0.1.0"
hash = "sha256-Fx+TaNrxW0VfzonT2jnd5MU09RRz7GJZkqAtJR6/pKI="
[mod."github.com/kr/pty"]
version = "v1.1.1"
hash = "sha256-AVeS+ivwNzIrgWQaLtsmO2f2MYGpxIVqdac/EzaYI1Q="
[mod."github.com/kr/text"]
version = "v0.1.0"
hash = "sha256-QT65kTrNypS5GPWGvgnCpGLPlVbQAL4IYvuqAKhepb4="
[mod."github.com/mattn/go-isatty"]
version = "v0.0.8"
hash = "sha256-EMWTTlMvuXlCpExYw88VJYDwULXx+Ckuqrw4I3OADmc="
[mod."github.com/morikuni/aec"]
version = "v1.0.0"
hash = "sha256-5zYgLeGr3K+uhGKlN3xv0PO67V+2Zw+cezjzNCmAWOE="
[mod."github.com/natessilva/dag"]
version = "v0.0.0-20180124060714-7194b8dcc5c4"
hash = "sha256-LFioh8N0qGXmUj+m8NnvD6o6tc4o9+oqHKaRYwpPp7M="
[mod."github.com/opencontainers/go-digest"]
version = "v1.0.0-rc1"
hash = "sha256-CS7Cn14yxEg7hsLJVT7vCoXlR2dOXCJAEqQrZK877AU="
[mod."github.com/opencontainers/image-spec"]
version = "v1.0.1"
hash = "sha256-G7VBimb9zaXD+DN20h5dL/C8Wh34OjHW3ee4marpVdQ="
[mod."github.com/pkg/errors"]
version = "v0.8.1"
hash = "sha256-oe3iddfoLRwpC3ki5fifHf2ZFprtg99iNak50shiuDw="
[mod."github.com/pmezard/go-difflib"]
version = "v1.0.0"
hash = "sha256-/FtmHnaGjdvEIKAJtrUfEhV7EVo5A/eYrtdnUkuxLDA="
[mod."github.com/prometheus/client_model"]
version = "v0.0.0-20190812154241-14fe0d1b01d4"
hash = "sha256-oJSU4o77UVps0e2SJUDz6enypNipZPDdZmn0tbKZtX0="
[mod."github.com/sirupsen/logrus"]
version = "v1.4.2"
hash = "sha256-3QzWUsapCmg3F7JqUuINT3/UG097uzLff6iCcCgQ43o="
[mod."github.com/stretchr/objx"]
version = "v0.1.1"
hash = "sha256-HdGVZCuy7VprC5W9UxGbDmXqsKADMjpEDht7ilGVLco="
[mod."github.com/stretchr/testify"]
version = "v1.3.0"
hash = "sha256-+mSebBNccNcxbY462iKTNTWmd5ZuUkUqFebccn3EtIA="
[mod."golang.org/x/crypto"]
version = "v0.0.0-20190621222207-cc06ce4a13d4"
hash = "sha256-kjHza5r8Qg/jpVBEgfD9JhjgWBqlckVphC0xEfrA/Uk="
[mod."golang.org/x/exp"]
version = "v0.0.0-20190121172915-509febef88a4"
hash = "sha256-3aexxwjrNamNF7sKeDO0VhPMHbs+PPE4W1RisxYSHSo="
[mod."golang.org/x/lint"]
version = "v0.0.0-20190313153728-d0100b6bd8b3"
hash = "sha256-x3rhw8oYIPlmZw4b80oNU5Tu8j/deZV2NCZK0lOuCiw="
[mod."golang.org/x/net"]
version = "v0.0.0-20190404232315-eb5bcb51f2a3"
hash = "sha256-kwP+BDfPsZEeeceyg4H5LgdTDT8O8YWbkpCkpyuPJJo="
[mod."golang.org/x/oauth2"]
version = "v0.0.0-20180821212333-d2e6202438be"
hash = "sha256-x0Lvhts17qZLPpt43EuNzUXcKJ6krpGWLYiA0Fw5dnE="
[mod."golang.org/x/sync"]
version = "v0.0.0-20190423024810-112230192c58"
hash = "sha256-1lGQ6frW6gwuLzwomu530IsFh7vlQWQOphQ0IQeZIhY="
[mod."golang.org/x/sys"]
version = "v0.0.0-20190422165155-953cdadca894"
hash = "sha256-YkQjSZaiVFxrmXYSKmqrGeIO3RZ95fc3dWyCaR+SosY="
[mod."golang.org/x/text"]
version = "v0.3.0"
hash = "sha256-0FFbaxF1ZuAQF3sCcA85e8MO6prFeHint36inija4NY="
[mod."golang.org/x/time"]
version = "v0.0.0-20181108054448-85acf8d2951c"
hash = "sha256-rA8/D9J/nZm/zzym/vucEyR/Zv2dTaTaxGTKrLLuFns="
[mod."golang.org/x/tools"]
version = "v0.0.0-20190524140312-2c0ae7006135"
hash = "sha256-PtG7E/cdFoGgY7DfMQWOd6f7uf92QMJg07nV4u8WR6g="
[mod."google.golang.org/appengine"]
version = "v1.4.0"
hash = "sha256-F6BEJekXXq0IT8Is1oBB1/ea+2a1RwNl+NyTI2mOXpg="
[mod."google.golang.org/genproto"]
version = "v0.0.0-20190819201941-24fa4b261c55"
hash = "sha256-Og+vLkTA3RffiJZoDneCazT9yJKlRTAjqUpMz8j3Kqg="
[mod."google.golang.org/grpc"]
version = "v1.29.1"
hash = "sha256-QLsQiDy1NWvnU8FoW9KSVBYMn0OU9dMIbOVz/Y4zAOw="
[mod."gopkg.in/alecthomas/kingpin.v2"]
version = "v2.2.6"
hash = "sha256-uViE2kPj7tMrGYVjjdLOl2jFDmmu+3P7GvnZBse2zVY="
[mod."gopkg.in/check.v1"]
version = "v1.0.0-20180628173108-788fd7840127"
hash = "sha256-KsRJNTprd1UijnJusbHwQGM7Bdm45Jt/QL+cIUGNa2w="
[mod."gopkg.in/yaml.v2"]
version = "v2.2.2"
hash = "sha256-SjNLmGSxoYabOi/zdjymW3mSgaxaS39btBQ3/aUIkgc="
[mod."gotest.tools"]
version = "v2.2.0+incompatible"
hash = "sha256-BYTGCeD1GH0nUMxaP1ARTpfGk3vQroDNAgb3LYKhon4="
[mod."honnef.co/go/tools"]
version = "v0.0.0-20190523083050-ea95bdfd59fc"
hash = "sha256-yaa2TKUdZqGVTICD6wzcRPr3WI0XhdIb20hwEFzq5Dg="

View file

@ -0,0 +1,11 @@
{
"url": "https://github.com/drone-runners/drone-runner-docker",
"rev": "47ee73d829ac4796415b8ccb6c96bbbf43da8d18",
"date": "2022-06-14T13:27:01+01:00",
"path": "/nix/store/99an2p3j60hp1ah3rz2qgkbnggfs6akk-drone-runner-docker",
"sha256": "0vl956877gpnv5jhg9c5bfbn6mdnaykhg65jc99dd5ly79zib6b6",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View file

@ -1,7 +0,0 @@
{fetchgit}:
fetchgit {
url = "https://github.com/drone-runners/drone-runner-docker";
rev = "47ee73d829ac4796415b8ccb6c96bbbf43da8d18";
sha256 = "sha256-NOQ+5orYk4GxCPBqjrJs390F/ukqqtLa39B4hF2SdPg=";
leaveDotGit = true;
}

View file

@ -1,32 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nix-prefetch-git jq
set -e
WORK_DIR=$(mktemp -d)
URL=https://github.com/drone-runners/drone-runner-docker
REVISION=$(jq -r '.nodes."drone-runner-docker".locked.rev' ../../flake.lock)
TARGET_DIR="$PWD"
function cleanup {
grep "fatal" $WORK_DIR/nix-prefetch-git.out >/dev/stderr || true
rm -rf "$WORK_DIR"
}
trap cleanup EXIT
echo "Fetching source code $REVISION from $URL"
JSON=$(nix-prefetch-git --url "$URL" --rev "$REVISION" --leave-dotGit 2> $WORK_DIR/nix-prefetch-git.out)
SHA=$(echo $JSON | jq -r .sha256)
SOURCE_DIR=$(grep '^path is' $WORK_DIR/nix-prefetch-git.out | sed 's/^path is //')
cat > source.nix << EOF
{fetchgit}:
fetchgit {
url = "$URL";
rev = "$REVISION";
sha256 = "$SHA";
leaveDotGit = true;
}
EOF
echo "Creating gomod2nix.toml"
nix run github:tweag/gomod2nix -- --dir $SOURCE_DIR --outdir $TARGET_DIR

View file

@ -23,4 +23,5 @@
emoji-volpeon-raccoon = pkgs.callPackage ./art/emoji/volpeon/raccoon.nix {};
emoji-volpeon-vlpn = pkgs.callPackage ./art/emoji/volpeon/vlpn.nix {};
lotte-art = pkgs.callPackage ./art/lotte {};
drone-runner-docker = pkgs.callPackage ./ci/drone-runner-docker {};
}

6
scripts/update-go.sh Executable file
View file

@ -0,0 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-prefetch
PACKAGE_PATH=$1
WRITE_PATH=$2
nix-prefetch "{ sha256 }: (callPackage (import $PACKAGE_PATH) { }).go-modules.overrideAttrs (_: { modSha256 = sha256; })" > $WRITE_PATH