Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CICD: Update docker containers to newer versions #5529

Merged
merged 16 commits into from
Jul 11, 2023
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04 as builder
FROM ubuntu:22.04 as builder

onetechnical marked this conversation as resolved.
Show resolved Hide resolved
ARG GO_VERSION="1.20.5"

Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -22,7 +22,7 @@ the [official Go documentation website](https://golang.org/doc/).

### Linux / OSX

We currently strive to support Debian-based distributions with Ubuntu 18.04
We currently strive to support Debian-based distributions with Ubuntu 22.04
being our official release target.
Building on Arch Linux works as well.
Our core engineering team uses Linux and OSX, so both environments are well
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04
ARG GOLANG_VERSION
ENV DEBIAN_FRONTEND noninteractive

Expand Down
2 changes: 1 addition & 1 deletion docker/build/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:22.04
ARG GOLANG_VERSION

RUN apt-get update && apt-get install -y git wget sqlite3 autoconf build-essential shellcheck
Expand Down
2 changes: 1 addition & 1 deletion docker/build/Dockerfile-deploy
@@ -1,4 +1,4 @@
FROM --platform=linux/amd64 ubuntu:18.04
FROM --platform=linux/amd64 ubuntu:22.04
ARG GOLANG_VERSION

RUN apt-get update && apt-get install -y git wget sqlite3 autoconf jq bsdmainutils shellcheck
Expand Down
2 changes: 1 addition & 1 deletion docker/build/aptly.Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04

ARG ARCH=amd64
ARG GOLANG_VERSION
Expand Down
1 change: 1 addition & 0 deletions docker/build/cicd.alpine.Dockerfile
Expand Up @@ -25,6 +25,7 @@ COPY . $GOPATH/src/github.com/algorand/go-algorand
WORKDIR $GOPATH/src/github.com/algorand/go-algorand
ENV GCC_CONFIG="--with-arch=armv6" \
GOPROXY=https://proxy.golang.org,https://pkg.go.dev,https://goproxy.io,direct
RUN git config --global --add safe.directory '*'
RUN make clean
RUN rm -rf $GOPATH/src/github.com/algorand/go-algorand && \
mkdir -p $GOPATH/src/github.com/algorand/go-algorand
Expand Down
1 change: 1 addition & 0 deletions docker/build/cicd.centos.Dockerfile
Expand Up @@ -20,6 +20,7 @@ COPY . $GOPATH/src/github.com/algorand/go-algorand
ENV PATH=$GOPATH/bin:$GOROOT/bin:$PATH \
GOPROXY=https://proxy.golang.org,https://pkg.go.dev,https://goproxy.io,direct
WORKDIR $GOPATH/src/github.com/algorand/go-algorand
RUN git config --global --add safe.directory '*'
RUN make clean
RUN rm -rf $GOPATH/src/github.com/algorand/go-algorand && \
mkdir -p $GOPATH/src/github.com/algorand/go-algorand
Expand Down
1 change: 1 addition & 0 deletions docker/build/cicd.centos8.Dockerfile
Expand Up @@ -28,6 +28,7 @@ COPY . $GOPATH/src/github.com/algorand/go-algorand
ENV PATH=$GOPATH/bin:$GOROOT/bin:$PATH \
GOPROXY=https://proxy.golang.org,https://pkg.go.dev,https://goproxy.io,direct
WORKDIR $GOPATH/src/github.com/algorand/go-algorand
RUN git config --global --add safe.directory '*'
RUN make clean
RUN rm -rf $GOPATH/src/github.com/algorand/go-algorand && \
mkdir -p $GOPATH/src/github.com/algorand/go-algorand
Expand Down
4 changes: 2 additions & 2 deletions docker/build/cicd.ubuntu.Dockerfile
@@ -1,11 +1,11 @@
ARG ARCH="amd64"

FROM ${ARCH}/ubuntu:18.04
FROM ${ARCH}/ubuntu:22.04
ARG GOLANG_VERSION
ARG ARCH="amd64"
ARG GOARCH="amd64"
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y build-essential git wget sqlite3 autoconf jq bsdmainutils shellcheck awscli
RUN apt-get update && apt-get install -y build-essential git wget sqlite3 autoconf jq bsdmainutils shellcheck awscli libtool
WORKDIR /root
RUN wget https://dl.google.com/go/go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz \
&& tar -xvf go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz && \
Expand Down
2 changes: 1 addition & 1 deletion docker/build/docker.ubuntu.Dockerfile
@@ -1,6 +1,6 @@
ARG ARCH="amd64"

FROM ${ARCH}/ubuntu:18.04
FROM ${ARCH}/ubuntu:22.04
ARG GOLANG_VERSION
ARG ARCH="amd64"
RUN apt-get update && apt-get install curl python python3.7 python3-pip build-essential apt-transport-https ca-certificates software-properties-common -y && \
Expand Down
2 changes: 1 addition & 1 deletion docker/build/releases-page.Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install git python3 python3-pip -y && \
Expand Down
10 changes: 5 additions & 5 deletions scripts/release/README.md
Expand Up @@ -52,7 +52,7 @@ This section briefly describes the expected outcomes of the current build pipeli

1. Build (compile) the binaries in a Centos 7 & 8 docker container that will then be used by both `deb` and `rpm` packaging.

1. Docker containers will package `deb` and `rpm` artifacts inside of Ubuntu 18.04 and Centos 7 & 8, respectively.
1. Docker containers will package `deb` and `rpm` artifacts inside of Ubuntu 22.04 and Centos 7 & 8, respectively.

1. Jenkins will then pause to wait for [the only manual part of the build/package/test phase], which is to forward the `gpg-agent` that establishes a direct between the local machine that contains the signing keys and the remote ec2 instance.

Expand All @@ -62,7 +62,7 @@ This section briefly describes the expected outcomes of the current build pipeli

Download the `deb` and `rpm` packages from staging and test and locally.

This will spin up a local python server that will host both an `APT` repository and a `YUM` repository in Ubuntu 18.04 and Centos 7 docker containers, respectively.
This will spin up a local python server that will host both an `APT` repository and a `YUM` repository in Ubuntu and Centos docker containers, respectively.

Each package is downloaded in the respective environment and the following tests are done:

Expand All @@ -71,9 +71,9 @@ This section briefly describes the expected outcomes of the current build pipeli
+ This is done for the following docker containers:
- centos:7
- quay.io/centos/centos:stream8
- fedora:28
- ubuntu:16.04
- ubuntu:18.04
- fedora:38
- ubuntu:20.04
- ubuntu:22.04

- Creates a test network using `goal`.
- et. al.
Expand Down
2 changes: 1 addition & 1 deletion scripts/release/common/docker/setup.Dockerfile
Expand Up @@ -9,7 +9,7 @@
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869194
# https://github.com/boto/s3transfer/pull/102

FROM ubuntu:18.04
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y jq git python python-pip python3-boto3 ssh && \
pip install awscli
Expand Down
2 changes: 1 addition & 1 deletion scripts/release/common/setup.sh
Expand Up @@ -106,7 +106,7 @@ fi
sudo usermod -a -G docker ubuntu
sg docker "docker pull centos:7"
sg docker "docker pull quay.io/centos/centos:stream8"
sg docker "docker pull ubuntu:18.04"
sg docker "docker pull ubuntu:22.04"

cat << EOF >> "${HOME}/.bashrc"
export EDITOR=vi
Expand Down
6 changes: 3 additions & 3 deletions scripts/release/test/util/test_package.sh
Expand Up @@ -10,9 +10,9 @@ set -ex
OS_LIST=(
centos:7
quay.io/centos/centos:stream8
fedora:28
ubuntu:16.04
ubuntu:18.04
fedora:38
ubuntu:20.04
ubuntu:22.04
)

FAILED=()
Expand Down
2 changes: 2 additions & 0 deletions test/muleCI/mule.yaml
Expand Up @@ -40,6 +40,8 @@ agents:
- VERSION=$VERSION
- BUILD_NUMBER=$BUILD_NUMBER
- GOHOSTARCH=amd64
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
buildArgs:
- GOLANG_VERSION=`./scripts/get_golang_version.sh`
- ARCH=amd64
Expand Down
4 changes: 2 additions & 2 deletions test/packages/test_release.sh
Expand Up @@ -17,9 +17,9 @@ fi
OS_LIST=(
centos:7
quay.io/centos/centos:stream8
fedora:34
ubuntu:18.04
fedora:38
ubuntu:20.04
ubuntu:22.04
)

BUCKET=algorand-builds
Expand Down
6 changes: 3 additions & 3 deletions test/platform/test_linux_amd64_compatibility.sh
Expand Up @@ -9,9 +9,9 @@ END_FG_COLOR=$(tput sgr0 2>/dev/null)
OS_LIST=(
centos:7
quay.io/centos/centos:stream8
fedora:28
ubuntu:16.04
ubuntu:18.04
fedora:38
ubuntu:20.04
ubuntu:22.04
)

FAILED=()
Expand Down