mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-22 21:59:59 +00:00
Stop building 'compute-tools' image (#10333)
It's been unused from time immemorial. --------- Co-authored-by: Matthias van de Meent <matthias@neon.tech>
This commit is contained in:
committed by
GitHub
parent
23c0748cdd
commit
70a3bf37a0
47
.github/workflows/build_and_test.yml
vendored
47
.github/workflows/build_and_test.yml
vendored
@@ -728,30 +728,6 @@ jobs:
|
|||||||
tags: |
|
tags: |
|
||||||
neondatabase/neon-test-extensions-${{ matrix.version.pg }}:${{needs.tag.outputs.build-tag}}-${{ matrix.version.debian }}-${{ matrix.arch }}
|
neondatabase/neon-test-extensions-${{ matrix.version.pg }}:${{needs.tag.outputs.build-tag}}-${{ matrix.version.debian }}-${{ matrix.arch }}
|
||||||
|
|
||||||
- name: Build compute-tools image
|
|
||||||
# compute-tools are Postgres independent, so build it only once
|
|
||||||
# We pick 16, because that builds on debian 11 with older glibc (and is
|
|
||||||
# thus compatible with newer glibc), rather than 17 on Debian 12, as
|
|
||||||
# that isn't guaranteed to be compatible with Debian 11
|
|
||||||
if: matrix.version.pg == 'v16'
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
target: compute-tools-image
|
|
||||||
context: .
|
|
||||||
build-args: |
|
|
||||||
GIT_VERSION=${{ github.event.pull_request.head.sha || github.sha }}
|
|
||||||
BUILD_TAG=${{ needs.tag.outputs.build-tag }}
|
|
||||||
TAG=${{ needs.build-build-tools-image.outputs.image-tag }}-${{ matrix.version.debian }}
|
|
||||||
DEBIAN_VERSION=${{ matrix.version.debian }}
|
|
||||||
provenance: false
|
|
||||||
push: true
|
|
||||||
pull: true
|
|
||||||
file: compute/compute-node.Dockerfile
|
|
||||||
cache-from: type=registry,ref=cache.neon.build/compute-node-${{ matrix.version.pg }}:cache-${{ matrix.version.debian }}-${{ matrix.arch }}
|
|
||||||
cache-to: ${{ github.ref_name == 'main' && format('type=registry,ref=cache.neon.build/compute-tools-{0}:cache-{1}-{2},mode=max', matrix.version.pg, matrix.version.debian, matrix.arch) || '' }}
|
|
||||||
tags: |
|
|
||||||
neondatabase/compute-tools:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }}-${{ matrix.arch }}
|
|
||||||
|
|
||||||
compute-node-image:
|
compute-node-image:
|
||||||
needs: [ compute-node-image-arch, tag ]
|
needs: [ compute-node-image-arch, tag ]
|
||||||
permissions:
|
permissions:
|
||||||
@@ -794,14 +770,6 @@ jobs:
|
|||||||
neondatabase/neon-test-extensions-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }}-x64 \
|
neondatabase/neon-test-extensions-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }}-x64 \
|
||||||
neondatabase/neon-test-extensions-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }}-arm64
|
neondatabase/neon-test-extensions-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }}-arm64
|
||||||
|
|
||||||
- name: Create multi-arch compute-tools image
|
|
||||||
if: matrix.version.pg == 'v16'
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t neondatabase/compute-tools:${{ needs.tag.outputs.build-tag }} \
|
|
||||||
-t neondatabase/compute-tools:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }} \
|
|
||||||
neondatabase/compute-tools:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }}-x64 \
|
|
||||||
neondatabase/compute-tools:${{ needs.tag.outputs.build-tag }}-${{ matrix.version.debian }}-arm64
|
|
||||||
|
|
||||||
- name: Configure AWS credentials
|
- name: Configure AWS credentials
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
uses: aws-actions/configure-aws-credentials@v4
|
||||||
with:
|
with:
|
||||||
@@ -817,12 +785,6 @@ jobs:
|
|||||||
docker buildx imagetools create -t 369495373322.dkr.ecr.eu-central-1.amazonaws.com/compute-node-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }} \
|
docker buildx imagetools create -t 369495373322.dkr.ecr.eu-central-1.amazonaws.com/compute-node-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }} \
|
||||||
neondatabase/compute-node-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }}
|
neondatabase/compute-node-${{ matrix.version.pg }}:${{ needs.tag.outputs.build-tag }}
|
||||||
|
|
||||||
- name: Push multi-arch compute-tools image to ECR
|
|
||||||
if: matrix.version.pg == 'v16'
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t 369495373322.dkr.ecr.eu-central-1.amazonaws.com/compute-tools:${{ needs.tag.outputs.build-tag }} \
|
|
||||||
neondatabase/compute-tools:${{ needs.tag.outputs.build-tag }}
|
|
||||||
|
|
||||||
vm-compute-node-image:
|
vm-compute-node-image:
|
||||||
needs: [ check-permissions, tag, compute-node-image ]
|
needs: [ check-permissions, tag, compute-node-image ]
|
||||||
runs-on: [ self-hosted, large ]
|
runs-on: [ self-hosted, large ]
|
||||||
@@ -1001,9 +963,6 @@ jobs:
|
|||||||
docker buildx imagetools create -t $repo/neon:latest \
|
docker buildx imagetools create -t $repo/neon:latest \
|
||||||
$repo/neon:${{ needs.tag.outputs.build-tag }}
|
$repo/neon:${{ needs.tag.outputs.build-tag }}
|
||||||
|
|
||||||
docker buildx imagetools create -t $repo/compute-tools:latest \
|
|
||||||
$repo/compute-tools:${{ needs.tag.outputs.build-tag }}
|
|
||||||
|
|
||||||
for version in ${VERSIONS}; do
|
for version in ${VERSIONS}; do
|
||||||
docker buildx imagetools create -t $repo/compute-node-${version}:latest \
|
docker buildx imagetools create -t $repo/compute-node-${version}:latest \
|
||||||
$repo/compute-node-${version}:${{ needs.tag.outputs.build-tag }}
|
$repo/compute-node-${version}:${{ needs.tag.outputs.build-tag }}
|
||||||
@@ -1032,7 +991,7 @@ jobs:
|
|||||||
- name: Copy all images to prod ECR
|
- name: Copy all images to prod ECR
|
||||||
if: github.ref_name == 'release' || github.ref_name == 'release-proxy' || github.ref_name == 'release-compute'
|
if: github.ref_name == 'release' || github.ref_name == 'release-proxy' || github.ref_name == 'release-compute'
|
||||||
run: |
|
run: |
|
||||||
for image in neon compute-tools {vm-,}compute-node-{v14,v15,v16,v17}; do
|
for image in neon {vm-,}compute-node-{v14,v15,v16,v17}; do
|
||||||
docker buildx imagetools create -t 093970136003.dkr.ecr.eu-central-1.amazonaws.com/${image}:${{ needs.tag.outputs.build-tag }} \
|
docker buildx imagetools create -t 093970136003.dkr.ecr.eu-central-1.amazonaws.com/${image}:${{ needs.tag.outputs.build-tag }} \
|
||||||
369495373322.dkr.ecr.eu-central-1.amazonaws.com/${image}:${{ needs.tag.outputs.build-tag }}
|
369495373322.dkr.ecr.eu-central-1.amazonaws.com/${image}:${{ needs.tag.outputs.build-tag }}
|
||||||
done
|
done
|
||||||
@@ -1044,7 +1003,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
client_id: ${{ vars.AZURE_DEV_CLIENT_ID }}
|
client_id: ${{ vars.AZURE_DEV_CLIENT_ID }}
|
||||||
image_tag: ${{ needs.tag.outputs.build-tag }}
|
image_tag: ${{ needs.tag.outputs.build-tag }}
|
||||||
images: neon compute-tools vm-compute-node-v14 vm-compute-node-v15 vm-compute-node-v16 vm-compute-node-v17 compute-node-v14 compute-node-v15 compute-node-v16 compute-node-v17
|
images: neon vm-compute-node-v14 vm-compute-node-v15 vm-compute-node-v16 vm-compute-node-v17 compute-node-v14 compute-node-v15 compute-node-v16 compute-node-v17
|
||||||
registry_name: ${{ vars.AZURE_DEV_REGISTRY_NAME }}
|
registry_name: ${{ vars.AZURE_DEV_REGISTRY_NAME }}
|
||||||
subscription_id: ${{ vars.AZURE_DEV_SUBSCRIPTION_ID }}
|
subscription_id: ${{ vars.AZURE_DEV_SUBSCRIPTION_ID }}
|
||||||
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
||||||
@@ -1056,7 +1015,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
client_id: ${{ vars.AZURE_PROD_CLIENT_ID }}
|
client_id: ${{ vars.AZURE_PROD_CLIENT_ID }}
|
||||||
image_tag: ${{ needs.tag.outputs.build-tag }}
|
image_tag: ${{ needs.tag.outputs.build-tag }}
|
||||||
images: neon compute-tools vm-compute-node-v14 vm-compute-node-v15 vm-compute-node-v16 vm-compute-node-v17 compute-node-v14 compute-node-v15 compute-node-v16 compute-node-v17
|
images: neon vm-compute-node-v14 vm-compute-node-v15 vm-compute-node-v16 vm-compute-node-v17 compute-node-v14 compute-node-v15 compute-node-v16 compute-node-v17
|
||||||
registry_name: ${{ vars.AZURE_PROD_REGISTRY_NAME }}
|
registry_name: ${{ vars.AZURE_PROD_REGISTRY_NAME }}
|
||||||
subscription_id: ${{ vars.AZURE_PROD_SUBSCRIPTION_ID }}
|
subscription_id: ${{ vars.AZURE_PROD_SUBSCRIPTION_ID }}
|
||||||
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
||||||
|
|||||||
@@ -1288,17 +1288,6 @@ USER nonroot
|
|||||||
COPY --chown=nonroot . .
|
COPY --chown=nonroot . .
|
||||||
RUN mold -run cargo build --locked --profile release-line-debug-size-lto --bin compute_ctl --bin fast_import --bin local_proxy
|
RUN mold -run cargo build --locked --profile release-line-debug-size-lto --bin compute_ctl --bin fast_import --bin local_proxy
|
||||||
|
|
||||||
#########################################################################################
|
|
||||||
#
|
|
||||||
# Final compute-tools image
|
|
||||||
#
|
|
||||||
#########################################################################################
|
|
||||||
|
|
||||||
FROM debian:$DEBIAN_FLAVOR AS compute-tools-image
|
|
||||||
|
|
||||||
COPY --from=compute-tools /home/nonroot/target/release-line-debug-size-lto/compute_ctl /usr/local/bin/compute_ctl
|
|
||||||
COPY --from=compute-tools /home/nonroot/target/release-line-debug-size-lto/fast_import /usr/local/bin/fast_import
|
|
||||||
|
|
||||||
#########################################################################################
|
#########################################################################################
|
||||||
#
|
#
|
||||||
# Layer "pgbouncer"
|
# Layer "pgbouncer"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
//!
|
//!
|
||||||
//! # Local Testing
|
//! # Local Testing
|
||||||
//!
|
//!
|
||||||
//! - Comment out most of the pgxns in The Dockerfile.compute-tools to speed up the build.
|
//! - Comment out most of the pgxns in compute-node.Dockerfile to speed up the build.
|
||||||
//! - Build the image with the following command:
|
//! - Build the image with the following command:
|
||||||
//!
|
//!
|
||||||
//! ```bash
|
//! ```bash
|
||||||
|
|||||||
@@ -7,15 +7,11 @@ Currently we build two main images:
|
|||||||
- [neondatabase/neon](https://hub.docker.com/repository/docker/neondatabase/neon) — image with pre-built `pageserver`, `safekeeper` and `proxy` binaries and all the required runtime dependencies. Built from [/Dockerfile](/Dockerfile).
|
- [neondatabase/neon](https://hub.docker.com/repository/docker/neondatabase/neon) — image with pre-built `pageserver`, `safekeeper` and `proxy` binaries and all the required runtime dependencies. Built from [/Dockerfile](/Dockerfile).
|
||||||
- [neondatabase/compute-node-v16](https://hub.docker.com/repository/docker/neondatabase/compute-node-v16) — compute node image with pre-built Postgres binaries from [neondatabase/postgres](https://github.com/neondatabase/postgres). Similar images exist for v15 and v14. Built from [/compute-node/Dockerfile](/compute/compute-node.Dockerfile).
|
- [neondatabase/compute-node-v16](https://hub.docker.com/repository/docker/neondatabase/compute-node-v16) — compute node image with pre-built Postgres binaries from [neondatabase/postgres](https://github.com/neondatabase/postgres). Similar images exist for v15 and v14. Built from [/compute-node/Dockerfile](/compute/compute-node.Dockerfile).
|
||||||
|
|
||||||
And additional intermediate image:
|
|
||||||
|
|
||||||
- [neondatabase/compute-tools](https://hub.docker.com/repository/docker/neondatabase/compute-tools) — compute node configuration management tools.
|
|
||||||
|
|
||||||
## Build pipeline
|
## Build pipeline
|
||||||
|
|
||||||
We build all images after a successful `release` tests run and push automatically to Docker Hub with two parallel CI jobs
|
We build all images after a successful `release` tests run and push automatically to Docker Hub with two parallel CI jobs
|
||||||
|
|
||||||
1. `neondatabase/compute-tools` and `neondatabase/compute-node-v16` (and -v15 and -v14)
|
1. `neondatabase/compute-node-v17` (and -16, -v15, -v14)
|
||||||
|
|
||||||
2. `neondatabase/neon`
|
2. `neondatabase/neon`
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user