From d309bac490ec844892c8d8542b48eb8acac38354 Mon Sep 17 00:00:00 2001 From: Christoph Otter Date: Wed, 11 Oct 2023 13:50:05 +0200 Subject: [PATCH 1/9] Update builders --- builders/Dockerfile.alpine | 8 ++++---- builders/Dockerfile.centos7 | 6 +++--- builders/Dockerfile.cross | 6 +++--- builders/README.md | 4 ++++ docs/COMPILER_VERSIONS.md | 6 +++--- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/builders/Dockerfile.alpine b/builders/Dockerfile.alpine index 8ba3cbb8b..5990728a0 100644 --- a/builders/Dockerfile.alpine +++ b/builders/Dockerfile.alpine @@ -7,18 +7,18 @@ FROM golang:1.19.7-alpine ENV RUSTUP_HOME=/usr/local/rustup \ - CARGO_HOME=/usr/local/cargo \ - PATH=/usr/local/cargo/bin:$PATH + CARGO_HOME=/usr/local/cargo \ + PATH=/usr/local/cargo/bin:$PATH # this comes from standard alpine nightly file # https://github.com/rust-lang/docker-rust-nightly/blob/master/alpine3.12/Dockerfile # with some changes to support our toolchain, etc RUN set -eux \ - && apk add --no-cache ca-certificates build-base + && apk add --no-cache ca-certificates build-base RUN wget "https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-musl/rustup-init" \ && chmod +x rustup-init \ - && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.69.0 \ + && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.70.0 \ && rm rustup-init \ && chmod -R a+w $RUSTUP_HOME $CARGO_HOME diff --git a/builders/Dockerfile.centos7 b/builders/Dockerfile.centos7 index c95318092..e969cdbef 100644 --- a/builders/Dockerfile.centos7 +++ b/builders/Dockerfile.centos7 @@ -21,12 +21,12 @@ RUN yum -y update \ # GET FROM https://github.com/rust-lang/docker-rust-nightly ENV RUSTUP_HOME=/usr/local/rustup \ - CARGO_HOME=/usr/local/cargo \ - PATH=/usr/local/cargo/bin:$PATH + CARGO_HOME=/usr/local/cargo \ + PATH=/usr/local/cargo/bin:$PATH RUN wget "https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init" \ && chmod +x rustup-init \ - && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.69.0 \ + && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.70.0 \ && rm rustup-init \ && chmod -R a+w $RUSTUP_HOME $CARGO_HOME \ && rustup --version \ diff --git a/builders/Dockerfile.cross b/builders/Dockerfile.cross index bcabb747a..7898cb969 100644 --- a/builders/Dockerfile.cross +++ b/builders/Dockerfile.cross @@ -1,10 +1,10 @@ -FROM rust:1.69.0-bullseye +FROM rust:1.70.0-bullseye # Install build dependencies RUN apt-get update \ && apt install -y clang gcc g++ zlib1g-dev libmpc-dev libmpfr-dev libgmp-dev build-essential cmake \ - # Support for Windows cross-compile - mingw-w64 + # Support for Windows cross-compile + mingw-w64 ## ADD MACOS SUPPORT diff --git a/builders/README.md b/builders/README.md index 4a568eef6..ae0452232 100644 --- a/builders/README.md +++ b/builders/README.md @@ -14,6 +14,10 @@ any machine that can run Docker can do the cross-compilation. ## Changelog +**Version 0017:** + +- Update Rust to 1.70.0. + **Version 0016:** - Update Rust to 1.69.0. diff --git a/docs/COMPILER_VERSIONS.md b/docs/COMPILER_VERSIONS.md index 785053066..9be7e28d5 100644 --- a/docs/COMPILER_VERSIONS.md +++ b/docs/COMPILER_VERSIONS.md @@ -63,6 +63,6 @@ We currently use the following version: | Type | Rust version | Note | | ------------------------ | ------------ | --------------------------------- | -| Production Rust compiler | 1.69.0 | Builders version 0016 | -| Min Rust compiler | 1.67.0 | Supports builder versions >= 0015 | -| Tooling Rust compiler | 1.69.0 | | +| Production Rust compiler | 1.70.0 | Builders version 0017 | +| Min Rust compiler | 1.70.0 | Supports builder versions >= 0017 | +| Tooling Rust compiler | 1.70.0 | | From 7ceb77023b1fafc92270202a059d02aefcc29819 Mon Sep 17 00:00:00 2001 From: Christoph Otter Date: Wed, 11 Oct 2023 13:59:39 +0200 Subject: [PATCH 2/9] Use latest stable rust for builders --- builders/Dockerfile.alpine | 2 +- builders/Dockerfile.centos7 | 2 +- builders/Dockerfile.cross | 2 +- docs/COMPILER_VERSIONS.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/builders/Dockerfile.alpine b/builders/Dockerfile.alpine index 5990728a0..3bda08af0 100644 --- a/builders/Dockerfile.alpine +++ b/builders/Dockerfile.alpine @@ -18,7 +18,7 @@ RUN set -eux \ RUN wget "https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-musl/rustup-init" \ && chmod +x rustup-init \ - && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.70.0 \ + && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.73.0 \ && rm rustup-init \ && chmod -R a+w $RUSTUP_HOME $CARGO_HOME diff --git a/builders/Dockerfile.centos7 b/builders/Dockerfile.centos7 index e969cdbef..a60036708 100644 --- a/builders/Dockerfile.centos7 +++ b/builders/Dockerfile.centos7 @@ -26,7 +26,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUN wget "https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init" \ && chmod +x rustup-init \ - && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.70.0 \ + && ./rustup-init -y --no-modify-path --profile minimal --default-toolchain 1.73.0 \ && rm rustup-init \ && chmod -R a+w $RUSTUP_HOME $CARGO_HOME \ && rustup --version \ diff --git a/builders/Dockerfile.cross b/builders/Dockerfile.cross index 7898cb969..61c8a43af 100644 --- a/builders/Dockerfile.cross +++ b/builders/Dockerfile.cross @@ -1,4 +1,4 @@ -FROM rust:1.70.0-bullseye +FROM rust:1.73.0-bullseye # Install build dependencies RUN apt-get update \ diff --git a/docs/COMPILER_VERSIONS.md b/docs/COMPILER_VERSIONS.md index 9be7e28d5..d20d6b196 100644 --- a/docs/COMPILER_VERSIONS.md +++ b/docs/COMPILER_VERSIONS.md @@ -63,6 +63,6 @@ We currently use the following version: | Type | Rust version | Note | | ------------------------ | ------------ | --------------------------------- | -| Production Rust compiler | 1.70.0 | Builders version 0017 | +| Production Rust compiler | 1.73.0 | Builders version 0017 | | Min Rust compiler | 1.70.0 | Supports builder versions >= 0017 | | Tooling Rust compiler | 1.70.0 | | From 36feca28e57790848f5cbda71257efa6a2470da6 Mon Sep 17 00:00:00 2001 From: Christoph Otter Date: Wed, 11 Oct 2023 14:03:36 +0200 Subject: [PATCH 3/9] Fix compiler versions --- docs/COMPILER_VERSIONS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/COMPILER_VERSIONS.md b/docs/COMPILER_VERSIONS.md index d20d6b196..333cd8869 100644 --- a/docs/COMPILER_VERSIONS.md +++ b/docs/COMPILER_VERSIONS.md @@ -64,5 +64,5 @@ We currently use the following version: | Type | Rust version | Note | | ------------------------ | ------------ | --------------------------------- | | Production Rust compiler | 1.73.0 | Builders version 0017 | -| Min Rust compiler | 1.70.0 | Supports builder versions >= 0017 | -| Tooling Rust compiler | 1.70.0 | | +| Min Rust compiler | 1.67.0 | Supports builder versions >= 0015 | +| Tooling Rust compiler | 1.69.0 | | From 5eb6d3a2a332455b36b9de3de3232862dd4327e7 Mon Sep 17 00:00:00 2001 From: Christoph Otter Date: Wed, 11 Oct 2023 14:07:22 +0200 Subject: [PATCH 4/9] Update go version --- builders/Dockerfile.alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builders/Dockerfile.alpine b/builders/Dockerfile.alpine index 3bda08af0..8755ade45 100644 --- a/builders/Dockerfile.alpine +++ b/builders/Dockerfile.alpine @@ -4,7 +4,7 @@ # For 2. we define the Go image here. For 1. we install Rust below. # # See also docs/COMPILER_VERSIONS.md -FROM golang:1.19.7-alpine +FROM golang:1.20.10-alpine ENV RUSTUP_HOME=/usr/local/rustup \ CARGO_HOME=/usr/local/cargo \ From 4b377509560a9a6a0aa198033a6ae609d817a98e Mon Sep 17 00:00:00 2001 From: Christoph Otter Date: Wed, 11 Oct 2023 14:11:23 +0200 Subject: [PATCH 5/9] Fix version number in readme Co-authored-by: Simon Warta <2603011+webmaster128@users.noreply.github.com> --- builders/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builders/README.md b/builders/README.md index ae0452232..ff4c3cc01 100644 --- a/builders/README.md +++ b/builders/README.md @@ -16,7 +16,7 @@ any machine that can run Docker can do the cross-compilation. **Version 0017:** -- Update Rust to 1.70.0. +- Update Rust to 1.73.0. **Version 0016:** From 8e46d1109352282ecdef59e98b0879aad9155a54 Mon Sep 17 00:00:00 2001 From: Simon Warta <2603011+webmaster128@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:32:49 +0200 Subject: [PATCH 6/9] Update builders/README.md --- builders/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/builders/README.md b/builders/README.md index ff4c3cc01..f23346470 100644 --- a/builders/README.md +++ b/builders/README.md @@ -17,6 +17,7 @@ any machine that can run Docker can do the cross-compilation. **Version 0017:** - Update Rust to 1.73.0. +- Update Go to 1.20.10 (for testing only). **Version 0016:** From 6ad1a23d158e0764d8d6bb021c16e9f1b6841be6 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Thu, 12 Oct 2023 15:21:02 +0200 Subject: [PATCH 7/9] Upgrade alpine versions for testing --- Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 8c4b23ee8..e198dc999 100644 --- a/Makefile +++ b/Makefile @@ -137,10 +137,11 @@ test-alpine: release-build-alpine @# Run the demo binary on Alpine machines @# See https://de.wikipedia.org/wiki/Alpine_Linux#Versionen for supported versions + docker run --rm --read-only -v $(shell pwd):/mnt/testrun -w /mnt/testrun alpine:3.18 ./demo ./testdata/hackatom.wasm + docker run --rm --read-only -v $(shell pwd):/mnt/testrun -w /mnt/testrun alpine:3.17 ./demo ./testdata/hackatom.wasm + docker run --rm --read-only -v $(shell pwd):/mnt/testrun -w /mnt/testrun alpine:3.16 ./demo ./testdata/hackatom.wasm docker run --rm --read-only -v $(shell pwd):/mnt/testrun -w /mnt/testrun alpine:3.15 ./demo ./testdata/hackatom.wasm docker run --rm --read-only -v $(shell pwd):/mnt/testrun -w /mnt/testrun alpine:3.14 ./demo ./testdata/hackatom.wasm - docker run --rm --read-only -v $(shell pwd):/mnt/testrun -w /mnt/testrun alpine:3.13 ./demo ./testdata/hackatom.wasm - docker run --rm --read-only -v $(shell pwd):/mnt/testrun -w /mnt/testrun alpine:3.12 ./demo ./testdata/hackatom.wasm @# Run binary locally if you are on Linux @# ./demo ./testdata/hackatom.wasm From 264a165976f26262a1d12165aa875aefe38557db Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Thu, 12 Oct 2023 15:38:09 +0200 Subject: [PATCH 8/9] Bump builder creation to 0017 --- builders/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builders/Makefile b/builders/Makefile index 3d18e0d31..6e6e25ef1 100644 --- a/builders/Makefile +++ b/builders/Makefile @@ -1,6 +1,6 @@ # Versioned by a simple counter that is not bound to a specific CosmWasm version # See builders/README.md -BUILDERS_PREFIX := cosmwasm/go-ext-builder:0016 +BUILDERS_PREFIX := cosmwasm/go-ext-builder:0017 .PHONY: docker-image-centos7 docker-image-centos7: From cf6d57f6b8b54fa28b040dac6947c9711ef90141 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Thu, 12 Oct 2023 15:59:54 +0200 Subject: [PATCH 9/9] Add link to Docker Hub repo --- builders/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/builders/README.md b/builders/README.md index f23346470..15cfa1c59 100644 --- a/builders/README.md +++ b/builders/README.md @@ -12,6 +12,11 @@ tricky. This folder contains build scripts and a Docker image to create all dynamic libraries from one host. In general this is set up for a Linux host, but any machine that can run Docker can do the cross-compilation. +## Docker Hub images + +See https://hub.docker.com/r/cosmwasm/go-ext-builder/tags for all available +versions of the builder images. + ## Changelog **Version 0017:**