diff --git a/.github/workflows/update-flake.yaml b/.github/workflows/update-flake.yaml index f2653fa..4fba66e 100644 --- a/.github/workflows/update-flake.yaml +++ b/.github/workflows/update-flake.yaml @@ -25,6 +25,8 @@ jobs: run: cd matrix/matrix-media-repo && ./update.sh - name: Run update script for lotte-art run: cd art && ./update.sh + - name: Run update script for drone-runner-docker + run: cd ci/drone-runner-docker && ./update.sh - name: Run nix formatter run: nix fmt - name: Commit and push diff --git a/ci/drone-runner-docker/default.nix b/ci/drone-runner-docker/default.nix new file mode 100644 index 0000000..42f2e0d --- /dev/null +++ b/ci/drone-runner-docker/default.nix @@ -0,0 +1,15 @@ +{ + 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; + }; +} diff --git a/ci/drone-runner-docker/gomod2nix.toml b/ci/drone-runner-docker/gomod2nix.toml new file mode 100644 index 0000000..bd72c63 --- /dev/null +++ b/ci/drone-runner-docker/gomod2nix.toml @@ -0,0 +1,217 @@ +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=" diff --git a/ci/drone-runner-docker/source.nix b/ci/drone-runner-docker/source.nix new file mode 100644 index 0000000..c8277d7 --- /dev/null +++ b/ci/drone-runner-docker/source.nix @@ -0,0 +1,7 @@ +{fetchgit}: +fetchgit { + url = "https://github.com/drone-runners/drone-runner-docker"; + rev = "47ee73d829ac4796415b8ccb6c96bbbf43da8d18"; + sha256 = "1rfdnj8g9g8ymy3n2gqs4w10dad1hq320bcx7hynbddyfkivgcgw"; + leaveDotGit = true; +} diff --git a/ci/drone-runner-docker/update.sh b/ci/drone-runner-docker/update.sh new file mode 100755 index 0000000..dd0e872 --- /dev/null +++ b/ci/drone-runner-docker/update.sh @@ -0,0 +1,32 @@ +#!/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 diff --git a/flake.lock b/flake.lock index 82bd4fe..fca3241 100644 --- a/flake.lock +++ b/flake.lock @@ -37,6 +37,22 @@ "url": "https://gist.github.com/DarkKirb/533e9e8b9b6dd1badf9b103b4285dc4e" } }, + "drone-runner-docker": { + "flake": false, + "locked": { + "lastModified": 1655209621, + "narHash": "sha256-ZpkVfzqeltZSYrKYB6dXtlVjl1uFpQdl2fa+c5ApiW4=", + "owner": "drone-runners", + "repo": "drone-runner-docker", + "rev": "47ee73d829ac4796415b8ccb6c96bbbf43da8d18", + "type": "github" + }, + "original": { + "owner": "drone-runners", + "repo": "drone-runner-docker", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -313,6 +329,7 @@ "inputs": { "cargo2nix": "cargo2nix", "clean-s3-cache": "clean-s3-cache", + "drone-runner-docker": "drone-runner-docker", "flake-utils": "flake-utils_2", "gomod2nix": "gomod2nix", "kreative-open-relay": "kreative-open-relay", diff --git a/flake.nix b/flake.nix index 2765dc0..b4ed221 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,8 @@ wortformliste.url = "github:mkrnr/wortformliste"; wortformliste.flake = false; cargo2nix.url = "github:cargo2nix/cargo2nix"; + drone-runner-docker.url = "github:drone-runners/drone-runner-docker"; + drone-runner-docker.flake = false; }; outputs = { @@ -62,6 +64,7 @@ ./fonts/nasin-nanpa.nix ./misc/plover.nix ./art + ./ci/drone-runner-docker ]); hydraJobs =