Add jpkg package CI
ober
18b22191b49efde82c7c8f35320e2d5928674599
new file mode 100644 --- /dev/null +++ b/.build.yml @@ -0,0 +1,36 @@ +image: debian/stable +packages: + - build-essential + - libncurses-dev + - uuid-dev + - zlib1g-dev + - liblz4-dev + - git + - curl + - unzip + - zip +sources: + - https://git.sr.ht/~lisp/jerboa + - https://git.sr.ht/~lisp/jerboa-gitsafe +artifacts: + - jerboa-gitsafe/jerboa-gitsafe-0.1.0.jpkg +tasks: + - build-jerboa-tools: | + cd jerboa + make jerboa + echo 'export PATH="$HOME/jerboa/dist:$PATH"' >> ~/.buildenv + - package-gitsafe: | + cd jerboa-gitsafe + J="$HOME/jerboa/dist/jerboa" + "$J" pkg verify + "$J" pkg policy + "$J" pkg build + "$J" pkg pack --output "$PWD/jerboa-gitsafe-0.1.0.jpkg" + "$J" pkg verify "$PWD/jerboa-gitsafe-0.1.0.jpkg" + "$J" pkg verify --reproduce + - test-gitsafe: | + cd jerboa-gitsafe + JERBUILD="$HOME/jerboa/dist/jerbuild" make test + - build-gitsafe: | + cd jerboa-gitsafe + JERBUILD="$HOME/jerboa/dist/jerbuild" make binary --- a/Makefile +++ b/Makefile @@ -4,11 +4,11 @@ # release toolchain for this os/arch into .jerboa/bin (support/ensure-jerboa.sh). JERBOA_VERSION ?= v0.2.0 JERBOA_TOOL_DIR ?= $(CURDIR)/.jerboa/bin -JERBUILD ?= $(shell if [ -x ./jerbuild ] && [ -x ./jerboa ]; then echo ./jerbuild; \ - elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ] && [ -x "$(JERBOA_TOOL_DIR)/jerboa" ]; then echo "$(JERBOA_TOOL_DIR)/jerbuild"; \ - elif [ -x ../jerboa/dist/jerbuild ] && [ -x ../jerboa/dist/jerboa ]; then echo ../jerboa/dist/jerbuild; \ +JERBUILD ?= $(shell if [ -x ./jerbuild ]; then echo ./jerbuild; \ + elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ]; then echo "$(JERBOA_TOOL_DIR)/jerbuild"; \ + elif [ -x ../jerboa/dist/jerbuild ]; then echo ../jerboa/dist/jerbuild; \ elif [ -x ../jerboa/jerbuild ]; then echo ../jerboa/jerbuild; \ - elif command -v jerbuild >/dev/null 2>&1 && command -v jerboa >/dev/null 2>&1; then command -v jerbuild; \ + elif command -v jerbuild >/dev/null 2>&1; then command -v jerbuild; \ else echo "$(JERBOA_TOOL_DIR)/jerbuild"; fi) JH = $(shell "$(JERBUILD)" --jerboa-home 2>/dev/null) @@ -31,15 +31,15 @@ all: binary # Make sure a working jerbuild exists; download the release toolchain for # this os/arch into $(JERBOA_TOOL_DIR) when none is found. ensure-jerboa-tools: - @if [ -x ./jerbuild ] && [ -x ./jerboa ]; then \ + @if [ -x ./jerbuild ]; then \ echo "=== Using project-local ./jerbuild ==="; \ - elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ] && [ -x "$(JERBOA_TOOL_DIR)/jerboa" ]; then \ + elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ]; then \ echo "=== Using downloaded Jerboa toolchain: $(JERBOA_TOOL_DIR) ==="; \ - elif [ -x ../jerboa/dist/jerbuild ] && [ -x ../jerboa/dist/jerboa ]; then \ + elif [ -x ../jerboa/dist/jerbuild ]; then \ echo "=== Using sibling Jerboa build: ../jerboa/dist/jerbuild ==="; \ elif [ -x ../jerboa/jerbuild ]; then \ echo "=== Using sibling Jerboa build: ../jerboa/jerbuild ==="; \ - elif command -v jerbuild >/dev/null 2>&1 && command -v jerboa >/dev/null 2>&1; then \ + elif command -v jerbuild >/dev/null 2>&1; then \ echo "=== Using Jerboa toolchain: $(JERBUILD) ==="; \ else \ echo "=== Fetching Jerboa $(JERBOA_VERSION) release tools into $(JERBOA_TOOL_DIR) ==="; \ new file mode 100644 --- /dev/null +++ b/jpkg.sexp @@ -0,0 +1,11 @@ +(package + (name "@lisp/jerboa-gitsafe") + (version "0.1.0") + (description "Secret-scanning git hooks") + (license "UNLICENSED") + (source "https://git.sr.ht/~lisp/jerboa-gitsafe") + (jerboa ">=0.2.0") + (modules ((root "gitsafe"))) + (dependencies ()) + (dev-dependencies ()) + (capabilities ((executables ("gitsafe-bin")))))