From ffa2ff3970ecfe3888aa66678a9ed4b89b5f2760 Mon Sep 17 00:00:00 2001 From: dkijania Date: Mon, 30 Sep 2024 09:57:39 +0200 Subject: [PATCH 1/4] Remove Buster support --- README-ci-failures.md | 6 +-- automation/services/watchdog/Dockerfile | 2 +- buildkite/scripts/run_promote_build_job.sh | 6 +-- .../scripts/run_verify_promoted_build_job.sh | 4 +- buildkite/src/Command/MinaArtifact.dhall | 2 + buildkite/src/Command/RunInToolchain.dhall | 10 ----- buildkite/src/Constants/ContainerImages.dhall | 2 - buildkite/src/Constants/DebianVersions.dhall | 35 ++++++++-------- buildkite/src/Constants/DockerVersions.dhall | 8 +--- buildkite/src/Constants/Toolchain.dhall | 2 - .../Entrypoints/GenerateHardforkPackage.dhall | 2 +- .../src/Jobs/Release/MinaArtifactBuster.dhall | 22 ---------- .../Release/MinaArtifactMainnetBuster.dhall | 35 ---------------- .../Release/MinaToolchainArtifactBuster.dhall | 41 ------------------- buildkite/src/README.md | 12 +++--- dockerfiles/Dockerfile-mina-daemon | 8 ---- dockerfiles/Dockerfile-mina-rosetta | 10 +---- dockerfiles/Dockerfile-mina-test-suite | 8 ---- dockerfiles/stages/1-build-deps | 2 +- dockerfiles/stages/2-opam-deps | 2 + scripts/deb-builder-helpers.sh | 4 -- scripts/debian/verify.sh | 1 - scripts/release-docker.sh | 4 +- 23 files changed, 44 insertions(+), 184 deletions(-) delete mode 100644 buildkite/src/Jobs/Release/MinaArtifactBuster.dhall delete mode 100644 buildkite/src/Jobs/Release/MinaArtifactMainnetBuster.dhall delete mode 100644 buildkite/src/Jobs/Release/MinaToolchainArtifactBuster.dhall diff --git a/README-ci-failures.md b/README-ci-failures.md index cfd8f4bc81d..595b083f84b 100644 --- a/README-ci-failures.md +++ b/README-ci-failures.md @@ -29,8 +29,8 @@ details and links to the failures. ## CI environment mismatch The CI runs its jobs in multiple Docker images. The images that it is using are -specified in `buildkite/src/Constants/COntainerImages.dhall`: the CI uses all -Debian images prefixed by `minaToolchainBuster`. +specified in `buildkite/src/Constants/ContainerImages.dhall`: the CI uses all +Debian images prefixed by `minaToolchainBullseye`. These images are generated by the CI itself, in particular based on the content of the `dockerfiles` directory and the `opam.export` file (which describes versions of @@ -46,7 +46,7 @@ In this case, you should: [Google Cloud](https://console.cloud.google.com/gcr/images/o1labs-192920/global/mina-toolchain) where they have been automatically uploaded. Look for your branch name and commit hash in the second column. You should find several images suffixed - with `-buster`, `-bullseye`, `-stretch` and `-focal` (Debian versions). + with `-bullseye` or `-focal` (Debian versions). 3. For each such image, retrieve its full name and hash by hovering its link and clicking the `Copy full image name` tooltip that appears (or retrieve it on the image's page). diff --git a/automation/services/watchdog/Dockerfile b/automation/services/watchdog/Dockerfile index 43e6e00f825..05e207350f6 100644 --- a/automation/services/watchdog/Dockerfile +++ b/automation/services/watchdog/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9.16-slim-buster +FROM python:3.9.16-slim-bullseye ARG GCLOUDSDK_DOWNLOAD_URL="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-296.0.1-linux-x86_64.tar.gz" ARG WATCHMAN_DEB_URL="http://ftp.us.debian.org/debian/pool/main/w/watchman/watchman_4.9.0-5+b1_amd64.deb" diff --git a/buildkite/scripts/run_promote_build_job.sh b/buildkite/scripts/run_promote_build_job.sh index 26feee3e23a..191c24e197b 100755 --- a/buildkite/scripts/run_promote_build_job.sh +++ b/buildkite/scripts/run_promote_build_job.sh @@ -18,7 +18,7 @@ # - "NETWORK=Devnet" # - "FROM_VERSION=3.0.0devnet-tooling-dkijania-hardfork-package-gen-in-nightly-b37f50e" # - "NEW_VERSION=3.0.0fake-ddb6fc4" -# - "CODENAMES=Focal,Buster,Bullseye" +# - "CODENAMES=Focal,Bullseye" # - "FROM_CHANNEL=Unstable" # - "TO_CHANNEL=Experimental" # image: codaprotocol/ci-toolchain-base:v3 @@ -41,7 +41,7 @@ function usage() { fi echo " DEBIANS The comma delimitered debian names. For example: 'Daemon,Archive' " echo " DOCKERS The comma delimitered docker names. For example: 'Daemon,Archive' " - echo " CODENAMES The Debian codenames (Bullseye, Buster etc.)" + echo " CODENAMES The Debian codenames (Bullseye, Focal etc.)" echo " FROM_VERSION The Source Docker or Debian version " echo " NEW_VERSION The new Debian version or new Docker tag" echo " REMOVE_PROFILE_FROM_NAME Should we remove profile suffix from debian name" @@ -112,4 +112,4 @@ if [[ "${REMOVE_PROFILE_FROM_NAME}" -eq 0 ]]; then else REMOVE_PROFILE_FROM_NAME="True" fi -echo $PROMOTE_PACKAGE_DHALL_DEF'.promote_artifacts '"$DHALL_DEBIANS"' '"$DHALL_DOCKERS"' "'"${FROM_VERSION}"'" "'"${NEW_VERSION}"'" "amd64" '$PROFILES_DHALL_DEF'.Type.'"${PROFILE}"' '$NETWORK_DHALL_DEF'.Type.'"${NETWORK}"' '"${DHALL_CODENAMES}"' '$DEBIAN_CHANNEL_DHALL_DEF'.Type.'"${FROM_CHANNEL}"' '$DEBIAN_CHANNEL_DHALL_DEF'.Type.'"${TO_CHANNEL}"' "'"${TAG}"'" '${REMOVE_PROFILE_FROM_NAME}' '${DHALL_PUBLISH}' ' | dhall-to-yaml --quoted +echo $PROMOTE_PACKAGE_DHALL_DEF'.promote_artifacts '"$DHALL_DEBIANS"' '"$DHALL_DOCKERS"' "'"${FROM_VERSION}"'" "'"${NEW_VERSION}"'" "amd64" '$PROFILES_DHALL_DEF'.Type.'"${PROFILE}"' '$NETWORK_DHALL_DEF'.Type.'"${NETWORK}"' '"${DHALL_CODENAMES}"' '$DEBIAN_CHANNEL_DHALL_DEF'.Type.'"${FROM_CHANNEL}"' '$DEBIAN_CHANNEL_DHALL_DEF'.Type.'"${TO_CHANNEL}"' "'"${NEW_VERSION}"'" '${REMOVE_PROFILE_FROM_NAME}' '${DHALL_PUBLISH}' ' | dhall-to-yaml --quoted diff --git a/buildkite/scripts/run_verify_promoted_build_job.sh b/buildkite/scripts/run_verify_promoted_build_job.sh index ed093b1a44b..da2a3789d3f 100755 --- a/buildkite/scripts/run_verify_promoted_build_job.sh +++ b/buildkite/scripts/run_verify_promoted_build_job.sh @@ -18,7 +18,7 @@ # - "NETWORK=Devnet" # - "FROM_VERSION=3.0.0devnet-tooling-dkijania-hardfork-package-gen-in-nightly-b37f50e" # - "NEW_VERSION=3.0.0fake-ddb6fc4" -# - "CODENAMES=Focal,Buster,Bullseye" +# - "CODENAMES=Focal,Bullseye" # - "FROM_CHANNEL=Unstable" # - "TO_CHANNEL=Experimental" # image: codaprotocol/ci-toolchain-base:v3 @@ -41,7 +41,7 @@ function usage() { fi echo " DEBIANS The comma delimitered debian names. For example: 'Daemon,Archive' " echo " DOCKERS The comma delimitered docker names. For example: 'Daemon,Archive' " - echo " CODENAMES The Debian codenames (Bullseye, Buster etc.)" + echo " CODENAMES The Debian codenames (Bullseye, Focal etc.)" echo " NEW_VERSION The new Debian version or new Docker tag" echo " REMOVE_PROFILE_FROM_NAME Should we remove profile suffix from debian name" echo " PROFILE The Docker and Debian profile (Standard, Lightnet)" diff --git a/buildkite/src/Command/MinaArtifact.dhall b/buildkite/src/Command/MinaArtifact.dhall index 5e6968df95f..b810cf02b8b 100644 --- a/buildkite/src/Command/MinaArtifact.dhall +++ b/buildkite/src/Command/MinaArtifact.dhall @@ -117,6 +117,7 @@ let docker_step let deps = DebianVersions.dependsOnStep + (None Text) debVersion profile buildFlags @@ -308,6 +309,7 @@ let publish_to_debian_repo = , key = "publish-deb-pkg" , depends_on = DebianVersions.dependsOnStep + (Some spec.prefix) spec.debVersion spec.profile spec.buildFlags diff --git a/buildkite/src/Command/RunInToolchain.dhall b/buildkite/src/Command/RunInToolchain.dhall index 6d4616b605d..ecc05ca00f1 100644 --- a/buildkite/src/Command/RunInToolchain.dhall +++ b/buildkite/src/Command/RunInToolchain.dhall @@ -33,15 +33,6 @@ let runInToolchainBullseye environment innerScript -let runInToolchainBuster - : List Text -> Text -> List Cmd.Type - = \(environment : List Text) - -> \(innerScript : Text) - -> runInToolchainImage - ContainerImages.minaToolchainBuster - environment - innerScript - let runInToolchain : List Text -> Text -> List Cmd.Type = \(environment : List Text) @@ -55,5 +46,4 @@ in { runInToolchain = runInToolchain , runInToolchainImage = runInToolchainImage , runInToolchainBookworm = runInToolchainBookworm , runInToolchainBullseye = runInToolchainBullseye - , runInToolchainBuster = runInToolchainBuster } diff --git a/buildkite/src/Constants/ContainerImages.dhall b/buildkite/src/Constants/ContainerImages.dhall index ff3cd4d0d58..d6a2e64be80 100644 --- a/buildkite/src/Constants/ContainerImages.dhall +++ b/buildkite/src/Constants/ContainerImages.dhall @@ -3,8 +3,6 @@ -- NOTE: minaToolchainBullseye is also used for building Ubuntu Focal packages in CI -- NOTE: minaToolchainBookworm is also used for building Ubuntu Jammy packages in CI { toolchainBase = "codaprotocol/ci-toolchain-base:v3" -, minaToolchainBuster = - "gcr.io/o1labs-192920/mina-toolchain@sha256:d27c15e3143a99b86155ba57696020c00e2a296b388499b3e6fb364478ddda3a" , minaToolchainBullseye = "gcr.io/o1labs-192920/mina-toolchain@sha256:966863de43c72c294e14762ae567404005f99654c54338a9a89b999476a36d1f" , minaToolchainBookworm = diff --git a/buildkite/src/Constants/DebianVersions.dhall b/buildkite/src/Constants/DebianVersions.dhall index 98cd6882689..f3042f5f067 100644 --- a/buildkite/src/Constants/DebianVersions.dhall +++ b/buildkite/src/Constants/DebianVersions.dhall @@ -1,17 +1,20 @@ +let Prelude = ../External/Prelude.dhall + +let Optional/default = Prelude.Optional.default + let Profiles = ./Profiles.dhall let BuildFlags = ./BuildFlags.dhall let S = ../Lib/SelectFiles.dhall -let DebVersion = < Bookworm | Bullseye | Buster | Jammy | Focal > +let DebVersion = < Bookworm | Bullseye | Jammy | Focal > let capitalName = \(debVersion : DebVersion) -> merge { Bookworm = "Bookworm" , Bullseye = "Bullseye" - , Buster = "Buster" , Jammy = "Jammy" , Focal = "Focal" } @@ -22,20 +25,20 @@ let lowerName = -> merge { Bookworm = "bookworm" , Bullseye = "bullseye" - , Buster = "buster" , Jammy = "jammy" , Focal = "focal" } debVersion let dependsOnStep = - \(debVersion : DebVersion) + \(prefix : Optional Text) + -> \(debVersion : DebVersion) -> \(profile : Profiles.Type) -> \(buildFlag : BuildFlags.Type) -> \(step : Text) -> let profileSuffix = Profiles.toSuffixUppercase profile - let prefix = "MinaArtifact" + let prefix = Optional/default Text "MinaArtifact" prefix in merge { Bookworm = @@ -53,14 +56,6 @@ let dependsOnStep = , key = "${step}-deb-pkg" } ] - , Buster = - [ { name = - "${prefix}${capitalName - debVersion}${profileSuffix}${BuildFlags.toSuffixUppercase - buildFlag}" - , key = "${step}-deb-pkg" - } - ] , Jammy = [ { name = "${prefix}${capitalName @@ -83,7 +78,12 @@ let dependsOnStep = let dependsOn = \(debVersion : DebVersion) -> \(profile : Profiles.Type) - -> dependsOnStep debVersion profile BuildFlags.Type.None "build" + -> dependsOnStep + (None Text) + debVersion + profile + BuildFlags.Type.None + "build" let minimalDirtyWhen = [ S.exactly "buildkite/src/Constants/DebianVersions" "dhall" @@ -92,8 +92,10 @@ let minimalDirtyWhen = , S.exactly "buildkite/src/Command/MinaArtifact" "dhall" , S.strictlyStart (S.contains "buildkite/src/Jobs/Release/MinaArtifact") , S.strictlyStart (S.contains "dockerfiles/stages") - , S.exactly "scripts/rebuild-deb" "sh" - , S.exactly "scripts/release-docker" "sh" + , S.exactly "scripts/debian/build" "sh" + , S.exactly "scripts/debian/builder-helpers" "sh" + , S.exactly "scripts/docker/release" "sh" + , S.exactly "scripts/docker/build" "sh" , S.exactly "buildkite/scripts/build-artifact" "sh" , S.exactly "buildkite/scripts/build-hardfork-package" "sh" , S.exactly "buildkite/scripts/check-compatibility" "sh" @@ -122,7 +124,6 @@ let dirtyWhen = -> merge { Bookworm = minimalDirtyWhen , Bullseye = bullseyeDirtyWhen - , Buster = minimalDirtyWhen , Jammy = minimalDirtyWhen , Focal = minimalDirtyWhen } diff --git a/buildkite/src/Constants/DockerVersions.dhall b/buildkite/src/Constants/DockerVersions.dhall index 3079bab2fd5..7db6179132c 100644 --- a/buildkite/src/Constants/DockerVersions.dhall +++ b/buildkite/src/Constants/DockerVersions.dhall @@ -12,14 +12,13 @@ let Network = ./Network.dhall let Docker : Type - = < Bookworm | Bullseye | Buster | Jammy | Focal > + = < Bookworm | Bullseye | Jammy | Focal > let capitalName = \(docker : Docker) -> merge { Bookworm = "Bookworm" , Bullseye = "Bullseye" - , Buster = "Buster" , Jammy = "Jammy" , Focal = "Focal" } @@ -30,7 +29,6 @@ let lowerName = -> merge { Bookworm = "bookworm" , Bullseye = "bullseye" - , Buster = "buster" , Jammy = "jammy" , Focal = "focal" } @@ -62,13 +60,11 @@ let dependsOn = in merge { Bookworm = - [ { name = "${prefix}${profileSuffix}", key = key } ] - , Bullseye = [ { name = "${prefix}${capitalName docker}${profileSuffix}" , key = key } ] - , Buster = + , Bullseye = [ { name = "${prefix}${capitalName docker}${profileSuffix}" , key = key } diff --git a/buildkite/src/Constants/Toolchain.dhall b/buildkite/src/Constants/Toolchain.dhall index b70181349bf..21cbde37fe5 100644 --- a/buildkite/src/Constants/Toolchain.dhall +++ b/buildkite/src/Constants/Toolchain.dhall @@ -13,7 +13,6 @@ let runner = -> merge { Bookworm = RunInToolchain.runInToolchainBookworm , Bullseye = RunInToolchain.runInToolchainBullseye - , Buster = RunInToolchain.runInToolchainBuster , Jammy = RunInToolchain.runInToolchainBookworm , Focal = RunInToolchain.runInToolchainBullseye } @@ -34,7 +33,6 @@ let image = -> merge { Bookworm = ContainerImages.minaToolchainBookworm , Bullseye = ContainerImages.minaToolchainBullseye - , Buster = ContainerImages.minaToolchainBuster , Jammy = ContainerImages.minaToolchainBookworm , Focal = ContainerImages.minaToolchainBullseye } diff --git a/buildkite/src/Entrypoints/GenerateHardforkPackage.dhall b/buildkite/src/Entrypoints/GenerateHardforkPackage.dhall index 31756138e28..64bfb78f805 100644 --- a/buildkite/src/Entrypoints/GenerateHardforkPackage.dhall +++ b/buildkite/src/Entrypoints/GenerateHardforkPackage.dhall @@ -35,7 +35,7 @@ let generate_hardfork_package = , Cmd.quietly "dhall-to-yaml --quoted <<< '(Pipeline.build (HardforkPackageGeneration.pipeline HardforkPackageGeneration.Spec::{=}).pipeline' | buildkite-agent pipeline upload" , Cmd.quietly - "dhall-to-yaml --quoted <<< '(Pipeline.build (HardforkPackageGeneration.pipeline HardforkPackageGeneration.Spec::{codename = DebianVersions.DebVersion.Buster}).pipeline' | buildkite-agent pipeline upload" + "dhall-to-yaml --quoted <<< '(Pipeline.build (HardforkPackageGeneration.pipeline HardforkPackageGeneration.Spec::{codename = DebianVersions.DebVersion.Bullseye}).pipeline' | buildkite-agent pipeline upload" ] , label = "Generate hardfork package" , key = "generate-hardfork-package" diff --git a/buildkite/src/Jobs/Release/MinaArtifactBuster.dhall b/buildkite/src/Jobs/Release/MinaArtifactBuster.dhall deleted file mode 100644 index c45b8c1b993..00000000000 --- a/buildkite/src/Jobs/Release/MinaArtifactBuster.dhall +++ /dev/null @@ -1,22 +0,0 @@ -let ArtifactPipelines = ../../Command/MinaArtifact.dhall - -let DebianVersions = ../../Constants/DebianVersions.dhall - -let Artifacts = ../../Constants/Artifacts.dhall - -let Pipeline = ../../Pipeline/Dsl.dhall - -in Pipeline.build - ( ArtifactPipelines.pipeline - ArtifactPipelines.MinaBuildSpec::{ - , artifacts = - [ Artifacts.Type.Daemon - , Artifacts.Type.Archive - , Artifacts.Type.BatchTxn - , Artifacts.Type.TestExecutive - , Artifacts.Type.Rosetta - , Artifacts.Type.ZkappTestTransaction - ] - , debVersion = DebianVersions.DebVersion.Buster - } - ) diff --git a/buildkite/src/Jobs/Release/MinaArtifactMainnetBuster.dhall b/buildkite/src/Jobs/Release/MinaArtifactMainnetBuster.dhall deleted file mode 100644 index 49b2adcc03c..00000000000 --- a/buildkite/src/Jobs/Release/MinaArtifactMainnetBuster.dhall +++ /dev/null @@ -1,35 +0,0 @@ -let ArtifactPipelines = ../../Command/MinaArtifact.dhall - -let DebianVersions = ../../Constants/DebianVersions.dhall - -let Network = ../../Constants/Network.dhall - -let Artifacts = ../../Constants/Artifacts.dhall - -let Pipeline = ../../Pipeline/Dsl.dhall - -let PipelineMode = ../../Pipeline/Mode.dhall - -let PipelineTag = ../../Pipeline/Tag.dhall - -in Pipeline.build - ( ArtifactPipelines.pipeline - ArtifactPipelines.MinaBuildSpec::{ - , artifacts = - [ Artifacts.Type.Daemon - , Artifacts.Type.Archive - , Artifacts.Type.BatchTxn - , Artifacts.Type.Rosetta - , Artifacts.Type.ZkappTestTransaction - ] - , debVersion = DebianVersions.DebVersion.Buster - , networks = [ Network.Type.Devnet, Network.Type.Mainnet ] - , tags = - [ PipelineTag.Type.Long - , PipelineTag.Type.Release - , PipelineTag.Type.Stable - ] - , mode = PipelineMode.Type.Stable - , prefix = "MinaArtifactMainnet" - } - ) diff --git a/buildkite/src/Jobs/Release/MinaToolchainArtifactBuster.dhall b/buildkite/src/Jobs/Release/MinaToolchainArtifactBuster.dhall deleted file mode 100644 index 3057316b1cc..00000000000 --- a/buildkite/src/Jobs/Release/MinaToolchainArtifactBuster.dhall +++ /dev/null @@ -1,41 +0,0 @@ -let S = ../../Lib/SelectFiles.dhall - -let Pipeline = ../../Pipeline/Dsl.dhall - -let PipelineTag = ../../Pipeline/Tag.dhall - -let PipelineMode = ../../Pipeline/Mode.dhall - -let JobSpec = ../../Pipeline/JobSpec.dhall - -let DockerImage = ../../Command/DockerImage.dhall - -in Pipeline.build - Pipeline.Config::{ - , spec = JobSpec::{ - , dirtyWhen = - [ S.strictlyStart (S.contains "dockerfiles/stages/1-") - , S.strictlyStart (S.contains "dockerfiles/stages/2-") - , S.strictlyStart (S.contains "dockerfiles/stages/3-") - , S.strictlyStart - (S.contains "buildkite/src/Jobs/Release/MinaToolchainArtifact") - , S.strictly (S.contains "opam.export") - , S.strictlyEnd (S.contains "rust-toolchain.toml") - ] - , path = "Release" - , name = "MinaToolchainArtifactBuster" - , tags = [ PipelineTag.Type.Toolchain ] - , mode = PipelineMode.Type.Stable - } - , steps = - [ let toolchainBusterSpec = - DockerImage.ReleaseSpec::{ - , service = "mina-toolchain" - , deb_codename = "buster" - , extra_args = "--no-cache" - , step_key = "toolchain-buster-docker-image" - } - - in DockerImage.generateStep toolchainBusterSpec - ] - } diff --git a/buildkite/src/README.md b/buildkite/src/README.md index d9b577e81b5..e8bfe284ddb 100644 --- a/buildkite/src/README.md +++ b/buildkite/src/README.md @@ -134,7 +134,7 @@ steps: - "NETWORK=Devnet" - "FROM_VERSION=3.0.0devnet-tooling-dkijania-hardfork-package-gen-in-nightly-b37f50e" - "NEW_VERSION=3.0.0fake-ddb6fc4" - - "CODENAMES=Focal,Buster,Bullseye" + - "CODENAMES=Focal,Bullseye" - "FROM_CHANNEL=Unstable" - "TO_CHANNEL=Experimental" image: codaprotocol/ci-toolchain-base:v3 @@ -146,11 +146,11 @@ Above definition one need to paste into steps edit box for given pipeline and th All list of available parameters: -- DEBIANS - The comma delimitered debian names. For example: `Daemon,Archive`. All available names are located in `buildkite/src/Constans/DebianPackage.dhall` files. Only CamelCase format is supported +- DEBIANS - The comma delimited debian names. For example: `Daemon,Archive`. All available names are located in `buildkite/src/Constans/DebianPackage.dhall` files. Only CamelCase format is supported -- DOCKERS - The comma delimitered docker names. For example: `Daemon,Archive`. All available names are located in `buildkite/src/Constans/Artifacts.dhall` files. Only CamelCase format is supported +- DOCKERS - The comma delimited docker names. For example: `Daemon,Archive`. All available names are located in `buildkite/src/Constans/Artifacts.dhall` files. Only CamelCase format is supported -- CODENAMES - The Debian codenames `Bullseye,Buster,Focal`. All available names are located in `buildkite/src/Constans/DebianVersions.dhall`. Only CamelCase format is supported +- CODENAMES - The Debian codenames `Bullseye,Focal`. All available names are located in `buildkite/src/Constans/DebianVersions.dhall`. Only CamelCase format is supported - FROM_VERSION - The Source Docker or Debian version @@ -187,7 +187,7 @@ Pipeline with create 6 jobs for each Docker and Debian component separately. - "FROM_VERSION=3.0.0devnet-tooling-dkijania-hardfork-package-gen-in-nightly-b37f50e" - "NEW_VERSION=3.0.0-ddb6fc4" - "PUBLISH"=1 - - "CODENAMES=Focal,Buster,Bullseye" + - "CODENAMES=Focal,Bullseye" - "FROM_CHANNEL=Unstable" - "TO_CHANNEL=Devnet" @@ -202,6 +202,6 @@ We want only to move dockers from gcr to dockerhub without changing version. Cur - "NETWORK=Devnet" - "FROM_VERSION=3.0.0-dc6bf78" - "NEW_VERSION=3.0.0-dc6bf78" - - "CODENAMES=Focal,Buster,Bullseye" + - "CODENAMES=Focal,Bullseye" - "PUBLISH=1" ``` \ No newline at end of file diff --git a/dockerfiles/Dockerfile-mina-daemon b/dockerfiles/Dockerfile-mina-daemon index 4f718e5ea3f..7d43e27bd0e 100644 --- a/dockerfiles/Dockerfile-mina-daemon +++ b/dockerfiles/Dockerfile-mina-daemon @@ -22,14 +22,6 @@ ENV DEBIAN_FRONTEND noninteractive # We do not install the below platform-specific dependencies, # and instead assume that apt will install the proper deps based on the package definition. # The packages are noted here just for clarity/documentation. -# Stretch-only Deps: -# libffi6 -# libprocps6 -# libjemalloc1 -# Buster-only Deps: -# libffi7 -# libprocps7 -# libjemalloc2 # Bullseye/Focal-only Deps: # libffi7 # libprocps8 diff --git a/dockerfiles/Dockerfile-mina-rosetta b/dockerfiles/Dockerfile-mina-rosetta index 8c5cd9b82b6..51c90c78c0f 100644 --- a/dockerfiles/Dockerfile-mina-rosetta +++ b/dockerfiles/Dockerfile-mina-rosetta @@ -22,14 +22,6 @@ ENV DEBIAN_FRONTEND noninteractive # We do not install the below platform-specific dependencies, # and instead assume that apt will install the proper deps based on the package definition. # The packages are noted here just for clarity/documentation. -# Stretch-only Deps: -# libffi6 -# libprocps6 -# libjemalloc1 -# Buster-only Deps: -# libffi7 -# libprocps7 -# libjemalloc2 # Bullseye/Focal-only Deps: # libffi7 # libprocps8 @@ -99,7 +91,7 @@ RUN mkdir -p --mode=700 ${MINA_CONFIG_DIR}/wallets/store/ \ RUN echo "Building image with version $deb_version from repo $deb_release $deb_codename for network $network" \ && echo "deb [trusted=yes] ${deb_repo} $deb_codename $deb_release" > /etc/apt/sources.list.d/o1.list \ && apt-get update --quiet --yes \ - && apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \ + && apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-rosetta-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \ && rm -rf /var/lib/apt/lists/* # --- Set up postgres diff --git a/dockerfiles/Dockerfile-mina-test-suite b/dockerfiles/Dockerfile-mina-test-suite index 98ac49ce9cd..1162bfa5e9e 100644 --- a/dockerfiles/Dockerfile-mina-test-suite +++ b/dockerfiles/Dockerfile-mina-test-suite @@ -13,14 +13,6 @@ ENV DEBIAN_FRONTEND noninteractive # We do not install the below platform-specific dependencies, # and instead assume that apt will install the proper deps based on the package definition. # The packages are noted here just for clarity/documentation. -# Stretch-only Deps: -# libffi6 -# libprocps6 -# libjemalloc1 -# Buster-only Deps: -# libffi7 -# libprocps7 -# libjemalloc2 # Bullseye/Focal-only Deps: # libffi7 # libprocps8 diff --git a/dockerfiles/stages/1-build-deps b/dockerfiles/stages/1-build-deps index 3c57e9d40fd..3e5348cc6e5 100644 --- a/dockerfiles/stages/1-build-deps +++ b/dockerfiles/stages/1-build-deps @@ -2,7 +2,7 @@ # The "build-deps" stage # - Installs all compilers/interpreters, tools, and OS packages on the given debian or ubuntu image ################################################################################################# -# Supports debian:buster-slim, debian:bullseye-slim, and ubuntu:focal +# Supports debian:bullseye-slim, and ubuntu:focal ARG image=ubuntu:focal FROM ${image} AS build-deps diff --git a/dockerfiles/stages/2-opam-deps b/dockerfiles/stages/2-opam-deps index 24b6ad9f246..09da654bdd2 100644 --- a/dockerfiles/stages/2-opam-deps +++ b/dockerfiles/stages/2-opam-deps @@ -25,6 +25,8 @@ ENV OPAMREUSEBUILDDIR false # Limit logs for opam install errors to 20 lines per error ENV OPAMERRLOGLEN 20 +ENV GIT_LFS_SKIP_SMUDGE 1 + # --- Shallow clone the Mina repo, only focused on the given MINA_BRANCH # git will clone into an empty dir, but this also helps us set the workdir in advance RUN git clone \ diff --git a/scripts/deb-builder-helpers.sh b/scripts/deb-builder-helpers.sh index 666078720b9..10af20e47b1 100755 --- a/scripts/deb-builder-helpers.sh +++ b/scripts/deb-builder-helpers.sh @@ -38,10 +38,6 @@ case "${MINA_DEB_CODENAME}" in DAEMON_DEPS=", libffi7, libjemalloc2, libpq-dev, libprocps8, mina-logproc" ARCHIVE_DEPS="libssl1.1, libgomp1, libpq-dev, libjemalloc2" ;; - buster) - DAEMON_DEPS=", libffi6, libjemalloc2, libpq-dev, libprocps7, mina-logproc" - ARCHIVE_DEPS="libssl1.1, libgomp1, libpq-dev, libjemalloc2" - ;; stretch|bionic) DAEMON_DEPS=", libffi6, libjemalloc1, libpq-dev, libprocps6, mina-logproc" ARCHIVE_DEPS="libssl1.1, libgomp1, libpq-dev, libjemalloc1" diff --git a/scripts/debian/verify.sh b/scripts/debian/verify.sh index 65fce185d12..c61d3636a7e 100755 --- a/scripts/debian/verify.sh +++ b/scripts/debian/verify.sh @@ -37,7 +37,6 @@ SCRIPT=' set -x \ ' case $CODENAME in - buster) DOCKER_IMAGE="debian:buster" ;; bullseye) DOCKER_IMAGE="debian:bullseye" ;; focal) DOCKER_IMAGE="ubuntu:focal" ;; *) echo "Unknown codename passed: $CODENAME"; exit 1;; diff --git a/scripts/release-docker.sh b/scripts/release-docker.sh index c510304d01c..239904f8b09 100755 --- a/scripts/release-docker.sh +++ b/scripts/release-docker.sh @@ -22,7 +22,7 @@ function usage() { echo " -n, --network The network configuration to use (devnet or mainnet). Default=devnet" echo " -b, --branch The branch of the mina repository to use for staged docker builds. Default=compatible" echo " -r, --repo The currently used mina repository" - echo " --deb-codename The debian codename (stretch or buster) to build the docker image from. Default=stretch" + echo " --deb-codename The debian codename (bullseye or focal) to build the docker image from. Default=stretch" echo " --deb-release The debian package release channel to pull from (unstable,alpha,beta,stable). Default=unstable" echo " --deb-version The version string for the debian package to install" echo " --deb-profile The profile string for the debian package to install" @@ -56,7 +56,7 @@ case "${DEB_CODENAME##*=}" in bionic|focal|impish|jammy) IMAGE="ubuntu:${DEB_CODENAME##*=}" ;; - stretch|buster|bullseye|bookworm|sid) + stretch|bullseye|bookworm|sid) IMAGE="debian:${DEB_CODENAME##*=}-slim" ;; esac From a27cc680553a9036ffbe3ef1e8d9e2d8cb907853 Mon Sep 17 00:00:00 2001 From: dkijania Date: Tue, 1 Oct 2024 23:02:53 +0200 Subject: [PATCH 2/4] Revert "Auxiliary commit to revert individual files from ffa2ff3970ecfe3888aa66678a9ed4b89b5f2760" This reverts commit 4f5ee6136b8f368003bc093cb8906d00ecf44d4f. --- buildkite/src/Command/MinaArtifact.dhall | 2 -- buildkite/src/Constants/DebianVersions.dhall | 22 +++++--------------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/buildkite/src/Command/MinaArtifact.dhall b/buildkite/src/Command/MinaArtifact.dhall index b810cf02b8b..5e6968df95f 100644 --- a/buildkite/src/Command/MinaArtifact.dhall +++ b/buildkite/src/Command/MinaArtifact.dhall @@ -117,7 +117,6 @@ let docker_step let deps = DebianVersions.dependsOnStep - (None Text) debVersion profile buildFlags @@ -309,7 +308,6 @@ let publish_to_debian_repo = , key = "publish-deb-pkg" , depends_on = DebianVersions.dependsOnStep - (Some spec.prefix) spec.debVersion spec.profile spec.buildFlags diff --git a/buildkite/src/Constants/DebianVersions.dhall b/buildkite/src/Constants/DebianVersions.dhall index f3042f5f067..627fb3cb659 100644 --- a/buildkite/src/Constants/DebianVersions.dhall +++ b/buildkite/src/Constants/DebianVersions.dhall @@ -1,7 +1,3 @@ -let Prelude = ../External/Prelude.dhall - -let Optional/default = Prelude.Optional.default - let Profiles = ./Profiles.dhall let BuildFlags = ./BuildFlags.dhall @@ -31,14 +27,13 @@ let lowerName = debVersion let dependsOnStep = - \(prefix : Optional Text) - -> \(debVersion : DebVersion) + \(debVersion : DebVersion) -> \(profile : Profiles.Type) -> \(buildFlag : BuildFlags.Type) -> \(step : Text) -> let profileSuffix = Profiles.toSuffixUppercase profile - let prefix = Optional/default Text "MinaArtifact" prefix + let prefix = "MinaArtifact" in merge { Bookworm = @@ -78,12 +73,7 @@ let dependsOnStep = let dependsOn = \(debVersion : DebVersion) -> \(profile : Profiles.Type) - -> dependsOnStep - (None Text) - debVersion - profile - BuildFlags.Type.None - "build" + -> dependsOnStep debVersion profile BuildFlags.Type.None "build" let minimalDirtyWhen = [ S.exactly "buildkite/src/Constants/DebianVersions" "dhall" @@ -92,10 +82,8 @@ let minimalDirtyWhen = , S.exactly "buildkite/src/Command/MinaArtifact" "dhall" , S.strictlyStart (S.contains "buildkite/src/Jobs/Release/MinaArtifact") , S.strictlyStart (S.contains "dockerfiles/stages") - , S.exactly "scripts/debian/build" "sh" - , S.exactly "scripts/debian/builder-helpers" "sh" - , S.exactly "scripts/docker/release" "sh" - , S.exactly "scripts/docker/build" "sh" + , S.exactly "scripts/rebuild-deb" "sh" + , S.exactly "scripts/release-docker" "sh" , S.exactly "buildkite/scripts/build-artifact" "sh" , S.exactly "buildkite/scripts/build-hardfork-package" "sh" , S.exactly "buildkite/scripts/check-compatibility" "sh" From dc2b839e07781100d334b80048b8e74c8ab70945 Mon Sep 17 00:00:00 2001 From: dkijania Date: Tue, 1 Oct 2024 23:34:31 +0200 Subject: [PATCH 3/4] Revert "Auxiliary commit to revert individual files from ffa2ff3970ecfe3888aa66678a9ed4b89b5f2760" This reverts commit 6f8c914070aa73e7559675a27e05be0d71892c63. --- dockerfiles/Dockerfile-mina-rosetta | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dockerfiles/Dockerfile-mina-rosetta b/dockerfiles/Dockerfile-mina-rosetta index 51c90c78c0f..53355cc049f 100644 --- a/dockerfiles/Dockerfile-mina-rosetta +++ b/dockerfiles/Dockerfile-mina-rosetta @@ -22,6 +22,14 @@ ENV DEBIAN_FRONTEND noninteractive # We do not install the below platform-specific dependencies, # and instead assume that apt will install the proper deps based on the package definition. # The packages are noted here just for clarity/documentation. +# Stretch-only Deps: +# libffi6 +# libprocps6 +# libjemalloc1 +# Buster-only Deps: +# libffi7 +# libprocps7 +# libjemalloc2 # Bullseye/Focal-only Deps: # libffi7 # libprocps8 From fc1b8f40da48a07888f8007cc4042a6a29c98fe1 Mon Sep 17 00:00:00 2001 From: dkijania Date: Wed, 2 Oct 2024 08:37:54 +0200 Subject: [PATCH 4/4] remove mina-rosetta debian from rosetta dockerfile --- dockerfiles/Dockerfile-mina-rosetta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile-mina-rosetta b/dockerfiles/Dockerfile-mina-rosetta index 53355cc049f..8c5cd9b82b6 100644 --- a/dockerfiles/Dockerfile-mina-rosetta +++ b/dockerfiles/Dockerfile-mina-rosetta @@ -99,7 +99,7 @@ RUN mkdir -p --mode=700 ${MINA_CONFIG_DIR}/wallets/store/ \ RUN echo "Building image with version $deb_version from repo $deb_release $deb_codename for network $network" \ && echo "deb [trusted=yes] ${deb_repo} $deb_codename $deb_release" > /etc/apt/sources.list.d/o1.list \ && apt-get update --quiet --yes \ - && apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-rosetta-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \ + && apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \ && rm -rf /var/lib/apt/lists/* # --- Set up postgres