31 lines
949 B
YAML
31 lines
949 B
YAML
version: '3'
|
|
|
|
env:
|
|
IMAGE: jswank/alpine-cli
|
|
NAME: alpine-cli
|
|
vars:
|
|
TAG:
|
|
sh: 'grep ^FROM Dockerfile | cut -d: -f2'
|
|
tasks:
|
|
default:
|
|
cmds:
|
|
- task: build
|
|
build:
|
|
desc: build a new image
|
|
cmds:
|
|
- (podman manifest exists {{.IMAGE}}:{{.TAG}} && podman manifest rm {{.IMAGE}}:{{.TAG}}) || true
|
|
- podman manifest create {{.IMAGE}}:{{.TAG}}
|
|
- podman build --platform linux/amd64,linux/arm64 --manifest {{.IMAGE}}:{{.TAG}} {{.CLI_ARGS}} -f Dockerfile ctx
|
|
publish:
|
|
desc: publish the image
|
|
cmds:
|
|
- podman tag {{.IMAGE}}:{{.TAG}} {{.REGISTRY}}/{{.IMAGE}}:{{.ALT_TAG}}
|
|
- echo "${{.REGISTRY_PASS_VAR}}" | podman login {{.REGISTRY}} -u {{.REGISTRY_USER}} --password-stdin
|
|
- podman manifest push {{.REGISTRY}}/{{.IMAGE}}:{{.ALT_TAG}}
|
|
- podman logout {{.REGISTRY}}
|
|
vars:
|
|
REGISTRY_PASS_VAR: GH_PAT
|
|
REGISTRY: ghcr.io
|
|
REGISTRY_USER: jswank
|
|
ALT_TAG: '{{.TAG}}'
|