From a2267a55693b77c1671767a43e78f70bddb8888f Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Wed, 12 Jul 2023 23:14:22 -0400 Subject: [PATCH] Build a cargo test image. We need this because the build fails missing crti.o. --- .lighthouse/triggers.yaml | 34 ++++++++++++++++++++++++++++++++++ docker/cargo_test/Dockerfile | 3 +++ docker/cargo_test/Makefile | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 docker/cargo_test/Dockerfile create mode 100644 docker/cargo_test/Makefile diff --git a/.lighthouse/triggers.yaml b/.lighthouse/triggers.yaml index 442753a..a610d5f 100644 --- a/.lighthouse/triggers.yaml +++ b/.lighthouse/triggers.yaml @@ -122,3 +122,37 @@ spec: value: docker/cargo_fmt/ - name: path-to-dockerfile value: docker/cargo_fmt/Dockerfile + - name: build-cargo-test + agent: tekton-pipeline + branches: + - "^v[0-9]+\\.[0-9]+\\.[0-9]+$" + context: build-docker + max_concurrency: 1 + # Override https-based url from lighthouse events. + clone_uri: "git@code.fizz.buzz:talexander/organic.git" + pipeline_run_spec: + serviceAccountName: build-bot + pipelineRef: + name: build-docker-pipeline + namespace: lighthouse + workspaces: + - name: git-source + volumeClaimTemplate: + spec: + storageClassName: "nfs-client" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + subPath: git-source + - name: docker-credentials + secret: + secretName: harbor-plain + params: + - name: image-name + value: "harbor.fizz.buzz/private/cargo-test" + - name: path-to-image-context + value: docker/cargo_test/ + - name: path-to-dockerfile + value: docker/cargo_test/Dockerfile diff --git a/docker/cargo_test/Dockerfile b/docker/cargo_test/Dockerfile new file mode 100644 index 0000000..83be354 --- /dev/null +++ b/docker/cargo_test/Dockerfile @@ -0,0 +1,3 @@ +FROM harbor.fizz.buzz/dockerhub/rustlang/rust:nightly-alpine3.17 + +RUN apk add --no-cache musl-dev diff --git a/docker/cargo_test/Makefile b/docker/cargo_test/Makefile new file mode 100644 index 0000000..cf6729e --- /dev/null +++ b/docker/cargo_test/Makefile @@ -0,0 +1,35 @@ +IMAGE_NAME:=cargo-test +# REMOTE_REPO:=harbor.fizz.buzz/private + +.PHONY: all +all: build push + +.PHONY: build +build: + docker build -t $(IMAGE_NAME) -f Dockerfile ../ + +.PHONY: push +push: +ifdef REMOTE_REPO + docker tag $(IMAGE_NAME) $(REMOTE_REPO)/$(IMAGE_NAME) + docker push $(REMOTE_REPO)/$(IMAGE_NAME) +else + @echo "REMOTE_REPO not defined, not pushing to a remote repo." +endif + +.PHONY: clean +clean: + docker rmi $(IMAGE_NAME) +ifdef REMOTE_REPO + docker rmi $(REMOTE_REPO)/$(IMAGE_NAME) +else + @echo "REMOTE_REPO not defined, not removing from remote repo." +endif + +.PHONY: run +run: + docker run --rm -i -t $(IMAGE_NAME) + +.PHONY: shell +shell: + docker run --rm -i -t --entrypoint /bin/bash $(IMAGE_NAME)