grim/hgkeeper

Add binaries to the convey.yml

22 months ago, Gary Kramlich
6118b5de7042
Parents 3c93ac85c843
Children 5389b17b4002
Add binaries to the convey.yml
  • +88 -4
    convey.yml
  • --- a/convey.yml Tue Jun 21 16:33:08 2022 -0500
    +++ b/convey.yml Tue Jun 21 16:33:21 2022 -0500
    @@ -1,16 +1,86 @@
    environment:
    + - VERSION=0.0.0
    - REPO=rwgrim/hgkeeper
    - TAG=latest
    - REGISTRY=docker.io
    - REGISTRY_USERNAME
    - REGISTRY_PASSWORD
    + - GO_IMAGE=docker.io/golang:1.18-bullseye
    tasks:
    import:
    type: docker/import
    files: .:.
    - build:
    + binaries-export:
    + type: docker/export
    + files:
    + - hgkeeper-${VERSION}-darwin-amd64
    + - hgkeeper-${VERSION}-darwin-amd64.sha256sum
    + - hgkeeper-${VERSION}-freebsd-amd64
    + - hgkeeper-${VERSION}-freebsd-amd64.sha256sum
    + - hgkeeper-${VERSION}-linux-amd64
    + - hgkeeper-${VERSION}-linux-amd64.sha256sum
    + - hgkeeper-${VERSION}-windows-amd64.exe
    + - hgkeeper-${VERSION}-windows-amd64.exe.sha256sum
    +
    + binaries-clean:
    + type: convey/clean
    + files:
    + - hgkeeper-${VERSION}-darwin-amd64*
    + - hgkeeper-${VERSION}-freebsd-amd64*
    + - hgkeeper-${VERSION}-linux-amd64*
    + - hgkeeper-${VERSION}-windows-amd64.exe*
    +
    + build-darwin-amd64:
    + type: docker/run
    + image: ${GO_IMAGE}
    + workdir: ${CONVEY_WORKSPACE}
    + environment:
    + - GOOS=darwin
    + - GOARCH=amd64
    + - OUTPUT=hgkeeper-${VERSION}-${GOOS}-${GOARCH}
    + script:
    + - go build -o ${OUTPUT}
    + - sha256sum ${OUTPUT} | tee ${OUTPUT}.sha256sum
    +
    + build-freebsd-amd64:
    + type: docker/run
    + image: ${GO_IMAGE}
    + workdir: ${CONVEY_WORKSPACE}
    + environment:
    + - GOOS=freebsd
    + - GOARCH=amd64
    + - OUTPUT=hgkeeper-${VERSION}-${GOOS}-${GOARCH}
    + script:
    + - go build -o ${OUTPUT}
    + - sha256sum ${OUTPUT} | tee ${OUTPUT}.sha256sum
    +
    + build-linux-amd64:
    + type: docker/run
    + image: ${GO_IMAGE}
    + workdir: ${CONVEY_WORKSPACE}
    + environment:
    + - GOOS=linux
    + - GOARCH=amd64
    + - OUTPUT=hgkeeper-${VERSION}-${GOOS}-${GOARCH}
    + script:
    + - go build -o ${OUTPUT}
    + - sha256sum ${OUTPUT} | tee ${OUTPUT}.sha256sum
    +
    + build-windows-amd64:
    + type: docker/run
    + image: ${GO_IMAGE}
    + workdir: ${CONVEY_WORKSPACE}
    + environment:
    + - GOOS=windows
    + - GOARCH=amd64
    + - OUTPUT=hgkeeper-${VERSION}-${GOOS}-${GOARCH}.exe
    + script:
    + - go build -o ${OUTPUT}
    + - sha256sum ${OUTPUT} | tee ${OUTPUT}.sha256sum
    +
    + build-image:
    type: docker/build
    dockerfile: Dockerfile
    tag: ${REGISTRY}/${REPO}:${TAG}
    @@ -55,10 +125,22 @@
    plans:
    default:
    stages:
    - - tasks: [import, build]
    + - tasks: [import, build-image]
    +
    + binaries:
    + stages:
    + - tasks: import
    + - concurrent: true
    + tasks:
    + - build-darwin-amd64
    + - build-freebsd-amd64
    + - build-linux-amd64
    + - build-windows-amd64
    + - tasks: binaries-export
    +
    ci:
    stages:
    - - tasks: [import, build, login, push]
    + - tasks: [import, build-image, login, push]
    - tasks: [logout]
    run: always
    docs:
    @@ -68,4 +150,6 @@
    clean:
    stages:
    - - tasks: [docs-clean]
    + - tasks:
    + - docs-clean
    + - binaries-clean