diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 018d434d..aeae1233 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,8 +37,8 @@ jobs: docker push qlik/go-build docker push qlik/go-build:$(date +'%Y-%m-%d') if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles' - docker-build-go-build-1-18: - name: docker build go-build-1.18 + docker-build-metrics-build: + name: docker build metrics-build runs-on: ubuntu-latest env: DOCKER_BUILDKIT: "1" @@ -47,13 +47,40 @@ jobs: run: docker version - uses: actions/checkout@master - name: build - run: docker build --progress plain --iidfile go-build-1.18/image.iid -f go-build-1.18/Dockerfile go-build-1.18/ + run: docker build --progress plain --iidfile metrics-build/image.iid -f metrics-build/Dockerfile metrics-build/ - name: tag run: | - docker tag $(< go-build-1.18/image.iid) ghcr.io/qlik-oss/go-build:1.18 - docker tag $(< go-build-1.18/image.iid) ghcr.io/qlik-oss/go-build:1.18-$(date +'%Y-%m-%d') - docker tag $(< go-build-1.18/image.iid) qlik/go-build:1.18 - docker tag $(< go-build-1.18/image.iid) qlik/go-build:1.18-$(date +'%Y-%m-%d') + docker tag $(< metrics-build/image.iid) ghcr.io/qlik-oss/metrics-build + docker tag $(< metrics-build/image.iid) ghcr.io/qlik-oss/metrics-build:$(date +'%Y-%m-%d') + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GHCR_TOKEN }} + if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles' + - name: docker push + run: | + docker push ghcr.io/qlik-oss/metrics-build + docker push ghcr.io/qlik-oss/metrics-build:$(date +'%Y-%m-%d') + if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles' + docker-build-go-build-1-21: + name: docker build go-build-1.21 + runs-on: ubuntu-latest + env: + DOCKER_BUILDKIT: "1" + steps: + - name: docker version + run: docker version + - uses: actions/checkout@master + - name: build + run: docker build --progress plain --iidfile go-build-1.21/image.iid -f go-build-1.21/Dockerfile go-build-1.21/ + - name: tag + run: | + docker tag $(< go-build-1.21/image.iid) ghcr.io/qlik-oss/go-build:1.21 + docker tag $(< go-build-1.21/image.iid) ghcr.io/qlik-oss/go-build:1.21-$(date +'%Y-%m-%d') + docker tag $(< go-build-1.21/image.iid) qlik/go-build:1.21 + docker tag $(< go-build-1.21/image.iid) qlik/go-build:1.21-$(date +'%Y-%m-%d') - name: Login to GitHub Container Registry uses: docker/login-action@v1 with: @@ -67,10 +94,10 @@ jobs: if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles' - name: docker push run: | - docker push ghcr.io/qlik-oss/go-build:1.18 - docker push ghcr.io/qlik-oss/go-build:1.18-$(date +'%Y-%m-%d') - docker push qlik/go-build:1.18 - docker push qlik/go-build:1.18-$(date +'%Y-%m-%d') + docker push ghcr.io/qlik-oss/go-build:1.21 + docker push ghcr.io/qlik-oss/go-build:1.21-$(date +'%Y-%m-%d') + docker push qlik/go-build:1.21 + docker push qlik/go-build:1.21-$(date +'%Y-%m-%d') if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles' docker-build-node-build: name: docker build node-build diff --git a/go-build-1.18/Dockerfile b/go-build-1.21/Dockerfile similarity index 98% rename from go-build-1.18/Dockerfile rename to go-build-1.21/Dockerfile index d0e8942b..26a56569 100644 --- a/go-build-1.18/Dockerfile +++ b/go-build-1.21/Dockerfile @@ -52,7 +52,7 @@ RUN wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/$GLIBC/g && ln -s /lib/libc.musl-x86_64.so.1 /usr/glibc-compat/lib \ && ln -s /usr/lib/libgcc_s.so.1 /usr/glibc-compat/lib -FROM golang:1.18.1-alpine AS build +FROM golang:1.21.13-alpine AS build COPY --from=gomplate /gomplate /bin/gomplate COPY --from=docker /usr/local/bin/docker /bin/docker diff --git a/go-build-1.18/README.md b/go-build-1.21/README.md similarity index 93% rename from go-build-1.18/README.md rename to go-build-1.21/README.md index a27f2a9c..9f9395b1 100644 --- a/go-build-1.18/README.md +++ b/go-build-1.21/README.md @@ -1,10 +1,10 @@ -# qlik/go-build-1.18 +# qlik/go-build-1.21 This image is built to support building Go-based projects in CircleCI. It comes populated with software generally useful for building and deploying. See the `Dockerfile` in this folder for details. -**This image is a backward compatibility image avaiable for Go 1.18 only.** +**This image is a backward compatibility image avaiable for Go 1.21 only.** ## Third-Party Licenses @@ -14,7 +14,7 @@ As with all Docker images, these also contain other software which may be under As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. -The licenses of the contained software can be determined by inspecting the [Dockerfile](https://github.com/qlik-oss/dockerfiles/blob/master/go-build-1.18/Dockerfile) +The licenses of the contained software can be determined by inspecting the [Dockerfile](https://github.com/qlik-oss/dockerfiles/blob/master/go-build-1.21/Dockerfile) ## Unsupported diff --git a/go-build-1.18/awscli-requirements.txt b/go-build-1.21/awscli-requirements.txt similarity index 60% rename from go-build-1.18/awscli-requirements.txt rename to go-build-1.21/awscli-requirements.txt index cb2262ca..e551b106 100644 --- a/go-build-1.18/awscli-requirements.txt +++ b/go-build-1.21/awscli-requirements.txt @@ -1,12 +1,13 @@ -awscli==1.22.47 -botocore==1.23.47 +awscli==1.32.16 +botocore==1.34.16 colorama==0.4.3 docutils==0.15.2 jmespath==0.10.0 pyasn1==0.4.8 python-dateutil==2.8.2 -PyYAML==5.4.1 +PyYAML==6.0.2 rsa==4.7.2 -s3transfer==0.5.1 +s3transfer==0.10.0 six==1.16.0 urllib3==1.26.8 +requests==2.31.0 \ No newline at end of file diff --git a/go-build-1.18/readme.yaml b/go-build-1.21/readme.yaml similarity index 100% rename from go-build-1.18/readme.yaml rename to go-build-1.21/readme.yaml diff --git a/metrics-build/Dockerfile b/metrics-build/Dockerfile new file mode 100644 index 00000000..845b5257 --- /dev/null +++ b/metrics-build/Dockerfile @@ -0,0 +1,32 @@ +FROM hairyhenderson/gomplate:v3.11.6-slim AS gomplate +FROM docker:27.0.3 AS docker +FROM hashicorp/vault:1.17.2 AS vault +FROM hashicorp/terraform:1.9.2 AS terraform +FROM bitnami/prometheus:2.53.1 AS prometheus +FROM bitnami/alertmanager:0.27.0 AS alertmanager +FROM grafana/mimirtool:2.13.0 AS mimirtool + +FROM alpine:3.19 AS packages + +RUN apk add --no-cache \ + make \ + git \ + python3 \ + py3-pip \ + bash \ + jq \ + curl \ + openssh \ + github-cli + +FROM alpine:3.19 AS build + +COPY --from=gomplate /gomplate /bin/gomplate +COPY --from=docker /usr/local/bin/docker /bin/docker +COPY --from=vault /bin/vault /bin/vault +COPY --from=terraform /bin/terraform /bin/terraform +COPY --from=prometheus /opt/bitnami/prometheus/bin/promtool /bin/promtool +COPY --from=alertmanager /opt/bitnami/alertmanager/bin/amtool /bin/amtool +COPY --from=mimirtool /bin/mimirtool /bin/mimirtool + +COPY --from=packages / / diff --git a/metrics-build/README.md b/metrics-build/README.md new file mode 100644 index 00000000..24aeb7e3 --- /dev/null +++ b/metrics-build/README.md @@ -0,0 +1,18 @@ +# qlik/metrics-build + +This image is built to support running tests with kubernetes cluster in CircleCI. It provides utilities such as docker, kubectl +and helm. See the `Dockerfile` in this folder for details. + +## Third-Party Licenses + +See the git repository for the source code information: https://github.com/qlik-oss/dockerfiles/blob/master/LICENSE + +As with all Docker images, these also contain other software which may be under other licenses, along with any direct or indirect dependencies of the primary software being contained. + +As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. + +The licenses of the contained software can be determined by inspecting the [Dockerfile](https://github.com/qlik-oss/dockerfiles/blob/master/metrics-build/Dockerfile) + +## Unsupported + +The source code (Dockerfiles) and binaries (container images) that result are provided for convenience, and not supported in any way. diff --git a/metrics-build/readme.yaml b/metrics-build/readme.yaml new file mode 100644 index 00000000..3020c2bc --- /dev/null +++ b/metrics-build/readme.yaml @@ -0,0 +1,5 @@ +name: metrics-build +description: | + This image is built to support building metrics based projects in concourse. It comes + populated with software generally useful for building and deploying. See the + `Dockerfile` in this folder for details. diff --git a/py-build/awscli-requirements.txt b/py-build/awscli-requirements.txt index 68957504..de4f6feb 100644 --- a/py-build/awscli-requirements.txt +++ b/py-build/awscli-requirements.txt @@ -1,13 +1,14 @@ -awscli==1.19.58 -botocore==1.20.58 +awscli==1.32.16 +botocore==1.34.16 colorama==0.4.4 docutils==0.17.1 jmespath==0.10.0 pyasn1==0.4.8 python-dateutil==2.8.1 -PyYAML==6.0 +PyYAML==6.0.2 rsa==4.7.2 s3transfer==0.4.2 six==1.15.0 urllib3==1.26.5 yamllint==1.26.1 +requests==2.31.0 diff --git a/tiny-build/Dockerfile b/tiny-build/Dockerfile index 614707a8..277244e6 100644 --- a/tiny-build/Dockerfile +++ b/tiny-build/Dockerfile @@ -1,16 +1,16 @@ FROM hairyhenderson/gomplate:v3.11.6-slim AS gomplate -FROM docker:23.0.1 AS docker +FROM docker:27.1.2 AS docker FROM docker/compose:1.29.2 AS compose -FROM vault:1.9.3 AS vault +FROM vault:1.10.11 AS vault FROM hashicorp/terraform:1.6.6 AS terraform -FROM hashicorp/packer:1.7.10 AS packer -FROM prom/prometheus:v2.41.0 AS prometheus -FROM prom/alertmanager:v0.24.0 AS alertmanager -FROM grafana/cortex-tools:v0.10.7 AS cortextool -FROM mikefarah/yq:4.31.2 AS yq -FROM lachlanevenson/k8s-kubectl:v1.25.4 AS kubectl -FROM lachlanevenson/k8s-helm:v3.10.2 AS helm2 -FROM lachlanevenson/k8s-helm:v3.10.2 AS helm +FROM hashicorp/packer:1.11.2 AS packer +FROM prom/prometheus:v2.53.2 AS prometheus +FROM prom/alertmanager:v0.27.0 AS alertmanager +FROM grafana/cortex-tools:v0.11.2 AS cortextool +FROM grafana/mimirtool:2.12.0 AS mimirtool +FROM mikefarah/yq:4.44.3 AS yq +FROM bitnami/kubectl:1.29.7 AS kubectl +FROM alpine/helm:3.14.4 AS helm FROM gcr.io/google.com/cloudsdktool/cloud-sdk:371.0.0-alpine AS google-cloud-sdk FROM instrumenta/conftest:v0.21.0 AS conftest @@ -66,11 +66,11 @@ COPY --from=packer /bin/packer /bin/packer COPY --from=prometheus /bin/promtool /bin/promtool COPY --from=alertmanager /bin/amtool /bin/amtool COPY --from=cortextool /usr/bin/cortextool /bin/cortextool +COPY --from=mimirtool /bin/mimirtool /bin/mimirtool COPY --from=yq /usr/bin/yq /usr/bin/yq COPY --from=compose /usr/local/bin/docker-compose /bin/docker-compose -COPY --from=kubectl /usr/local/bin/kubectl /usr/local/bin/kubectl -COPY --from=helm2 /usr/local/bin/helm /usr/local/bin/helm2 -COPY --from=helm /usr/local/bin/helm /usr/local/bin/helm +COPY --from=kubectl /opt/bitnami/kubectl/bin/kubectl /usr/local/bin/kubectl +COPY --from=helm /usr/bin/helm /usr/local/bin/helm COPY --from=cc-test-reporter /bin/cc-test-reporter /bin/cc-test-reporter COPY --from=google-cloud-sdk /google-cloud-sdk/bin/ /usr/local/bin/ COPY --from=google-cloud-sdk /google-cloud-sdk/lib/ /usr/local/lib/