+docker-lock -- lockfile for your Dockerfiles (#3087)

* wip

* docker a dep; call as `docker lock`

* fix the tests

* ca-certs

---------

Co-authored-by: Jacob Heider <jacob@tea.xyz>
This commit is contained in:
Kevin Chen 2023-08-27 23:05:37 -04:00 committed by GitHub
parent 849b379aa4
commit 301b3039b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,48 @@
distributable:
url: https://github.com/safe-waters/docker-lock/archive/refs/tags/v{{version}}.tar.gz
strip-components: 1
versions:
github: safe-waters/docker-lock
provides:
- bin/docker-lock
dependencies:
docker.com/cli: "*"
curl.se/ca-certs: '*'
build:
dependencies:
go.dev: ^1.19
script: |
go mod download
mkdir -p "{{ prefix }}"/bin
go build -v -trimpath -ldflags="$LDFLAGS" -o $BUILDLOC ./cmd/docker-lock
env:
GOPROXY: https://proxy.golang.org,direct
GOSUMDB: sum.golang.org
GO111MODULE: on
CGO_ENABLED: 0
BUILDLOC: '{{prefix}}/bin/docker-lock'
LDFLAGS:
- -s
- -w
- -X github.com/safe-waters/docker-lock/cmd/version.Version={{version}}
linux:
# or segmentation fault
# fix found here https://github.com/docker-library/golang/issues/402#issuecomment-982204575
LDFLAGS:
- -buildmode=pie
test:
script:
- docker-lock help
- test "$(docker-lock lock version)" = "{{version}}"
- cat $FIXTURE >Dockerfile
- docker-lock lock generate
- grep \"tag\":\ \"3.6\", docker-lock.json
fixture: |
FROM ubuntu AS base
FROM mperel/log:v1
FROM python:3.6