feat: read built timestamp from git
All checks were successful
All checks were successful
This commit is contained in:
parent
097ebfaf38
commit
df0d831a06
3 changed files with 30 additions and 16 deletions
|
@ -6,6 +6,10 @@
|
|||
FROM docker.io/library/bash:5.2.37@sha256:01a15c6f48f6a3c08431cd77e11567823530b18159889dca3b7309b707beef91
|
||||
SHELL ["/usr/local/bin/bash", "-u", "-e", "-o", "pipefail", "-c"]
|
||||
|
||||
# workaround until we have a env `CI_COMMIT_TIMESTAMP`
|
||||
# see https://github.com/woodpecker-ci/woodpecker/issues/5245
|
||||
RUN apk add git~=2 --no-cache
|
||||
|
||||
RUN ARCH=$(uname -m) && \
|
||||
[[ $ARCH == x86_64 ]] && export SUFFIX=amd64; \
|
||||
[[ $ARCH == aarch64 ]] && export SUFFIX=arm64; \
|
||||
|
|
|
@ -73,7 +73,7 @@ docker run --rm --user=$(id -u) --volume=$HOME:$HOME:ro --workdir=$PWD --env=PLU
|
|||
## Settings
|
||||
|
||||
| Settings Name | Environment | Default | Description |
|
||||
| ------------------- | ------------------------ | ---------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| ------------------- | ------------------------ | --------------------------- | -------------------------------------------------- |
|
||||
| `addr` | PLUGIN_ADDR | `$BUILDKIT_HOST` | Buildkit host to use. |
|
||||
| `frontend` | PLUGIN_FRONTEND | `dockerfile.v0` | Only dockerfile frontend supported right now |
|
||||
| `context` | PLUGIN_CONTEXT | `$PWD` | Context directory to use for build |
|
||||
|
@ -81,7 +81,7 @@ docker run --rm --user=$(id -u) --volume=$HOME:$HOME:ro --workdir=$PWD --env=PLU
|
|||
| `target` | PLUGIN_TARGET | `none` | Dockerfile target |
|
||||
| `build-args` | PLUGIN_BUILD_ARGS | `none` | Build args to pass to build |
|
||||
| `platform` | PLUGIN_PLATFORM | `none` | Target platform for container image. |
|
||||
| `source-epoch-date` | PLUGIN_SOURCE_DATE_EPOCH | `0` | Timestamp to use for reproduceable builds. |
|
||||
| `source-epoch-date` | PLUGIN_SOURCE_DATE_EPOCH | `git log -1 --format="%at"` | Timestamp to use for reproduceable builds. |
|
||||
| `name` | PLUGIN_NAME | `none` | Images names where to push the image. |
|
||||
| `annotation` | PLUGIN_ANNOTATION | `none` | Annotations (also known as labels) to add to image |
|
||||
| `push` | PLUGIN_PUSH | `true` | Push images if output names are set. |
|
||||
|
|
|
@ -1,6 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
set -eu;
|
||||
|
||||
##
|
||||
## workaround until we have a env `CI_COMMIT_TIMESTAMP`
|
||||
## see https://github.com/woodpecker-ci/woodpecker/issues/5245
|
||||
##
|
||||
|
||||
if [[ -z "${CI_COMMIT_TIMESTAMP:-}" ]]; then
|
||||
git config --global --add safe.directory "$PWD"
|
||||
CI_COMMIT_TIMESTAMP=$(git log -1 --format="%at")
|
||||
fi
|
||||
|
||||
##
|
||||
## check input
|
||||
##
|
||||
|
@ -27,7 +37,7 @@ if [[ "$BUILDCTL_FRONTEND" != "dockerfile.v0" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
SOURCE_DATE_EPOCH=${PLUGIN_SOURCE_DATE_EPOCH:-0}
|
||||
SOURCE_DATE_EPOCH=${PLUGIN_SOURCE_DATE_EPOCH:-${CI_COMMIT_TIMESTAMP:-0}}
|
||||
|
||||
if [[ -n "${PLUGIN_AUTH:-}" ]]; then
|
||||
echo "$PLUGIN_AUTH" | jq -r 'to_entries|map({(.key):{"auth":(.value.username+":"+.value.password)|@base64}})|add|{"auths":.}' > "$HOME/.docker/config.json"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue