RONDB-528: Remove References to Open SSL 1.1.1 #156
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Building Image, Running Benchmarks and Deploying to Dockerhub | |
on: | |
push: | |
pull_request: | |
branches: | |
- main | |
types: [opened, synchronize, reopened, edited] | |
env: | |
RONDB_VERSION_LTS: 21.04.15 | |
RONDB_VERSION_STABLE: 22.10.1 | |
ARM_IMAGE_NAME: rondb-standalone-arm64 | |
AMD_IMAGE_NAME: rondb-standalone-amd64 | |
jobs: | |
integration-test-and-package: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build and run Docker Compose cluster with benchmarking for RONDB_VERSION_LTS | |
run: | | |
./run.sh -lv \ | |
--rondb-tarball-url https://repo.hops.works/master/rondb-$RONDB_VERSION_LTS-linux-glibc2.17-x86_64.tar.gz \ | |
--rondb-version $RONDB_VERSION_LTS \ | |
--size mini \ | |
--run-benchmark sysbench_single \ | |
--detached | |
- name: Wait for one container exit or timeout | |
run: | | |
start=`date +%s` | |
while true; do | |
end=`date +%s` | |
runtime=$((end-start)) | |
if [ $( docker container ls --filter "status=exited" | grep rondb | wc -l ) -gt 0 ]; then | |
echo "One container is down. We can continue" | |
docker container ls --filter "status=exited" | |
exit 0 | |
elif [ $runtime -gt 800 ]; then | |
echo "The benchmarking seems to be stuck. We're aborting now." | |
docker ps | |
exit 1 | |
fi | |
sleep 2 | |
done | |
- run: docker container ls | |
- run: docker logs mgmd_1 | |
- run: docker logs ndbd_1 | |
- run: docker logs mysqld_1 | |
- run: docker logs rest_1 | |
- run: docker logs bench_1 | |
# At this point we only know that one container has exited. We want to | |
# check whether the bench container has exited with exit code 0. We need | |
# both status and exit code to do so, since Docker reports exit code 0 | |
# for running containers. | |
- name: Check Benchmarking Exit Code | |
run: | | |
if [ "$(docker inspect bench_1 --format='{{.State.Status}}')" != "exited" ] | |
then | |
echo "Some container other than bench_1 exited unexpectedly." | |
docker ps -a | |
exit 1 | |
elif [ "$(docker inspect bench_1 --format='{{.State.ExitCode}}')" != "0" ] | |
then | |
echo "Benchmarking failed." | |
cat autogenerated_files/*/volumes/sysbench_single/sysbench_results/oltp_rw_0_0.res | |
exit 1 | |
fi | |
- name: Printing Sysbench results | |
run: cat autogenerated_files/*/volumes/sysbench_single/final_result.txt | |
- name: Login to Dockerhub | |
uses: docker/login-action@v2 | |
if: github.repository == 'logicalclocks/rondb-docker' && github.ref_name == 'main' | |
with: | |
username: hopsworks | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build AMD64 image for RONDB_VERSION_STABLE | |
if: github.repository == 'logicalclocks/rondb-docker' && github.ref_name == 'main' | |
run: | | |
docker buildx build . \ | |
--tag rondb-standalone:$RONDB_VERSION_STABLE \ | |
--build-arg RONDB_VERSION=$RONDB_VERSION_STABLE \ | |
--build-arg RONDB_TARBALL_LOCAL_REMOTE=remote \ | |
--build-arg RONDB_TARBALL_URI=https://repo.hops.works/master/rondb-$RONDB_VERSION_STABLE-linux-glibc2.17-x86_64.tar.gz | |
- name: Push AMD64 images to Dockerhub | |
if: github.repository == 'logicalclocks/rondb-docker' && github.ref_name == 'main' | |
run: | | |
docker tag rondb-standalone:$RONDB_VERSION_LTS hopsworks/$AMD_IMAGE_NAME:$RONDB_VERSION_LTS | |
docker tag rondb-standalone:$RONDB_VERSION_STABLE hopsworks/$AMD_IMAGE_NAME:$RONDB_VERSION_STABLE | |
docker tag rondb-standalone:$RONDB_VERSION_STABLE hopsworks/$AMD_IMAGE_NAME:latest | |
docker push hopsworks/$AMD_IMAGE_NAME:$RONDB_VERSION_LTS | |
docker push hopsworks/$AMD_IMAGE_NAME:$RONDB_VERSION_STABLE | |
docker push hopsworks/$AMD_IMAGE_NAME:latest | |
build-and-push-ARM64: | |
runs-on: ubuntu-latest | |
if: github.repository == 'logicalclocks/rondb-docker' && github.ref_name == 'main' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to Dockerhub | |
uses: docker/login-action@v2 | |
with: | |
username: hopsworks | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# We're skipping the benchmarking on ARM64 as we assume this will be run on a regular basis | |
# during development. ARM64 images are only for development anyways. It is more important to add | |
# all types of benchmarking to the tests. | |
- name: Build and push ARM64 image for RONDB_VERSION_LTS | |
run: | | |
docker buildx build . \ | |
--tag hopsworks/$ARM_IMAGE_NAME:$RONDB_VERSION_LTS \ | |
--platform=linux/arm64 \ | |
--output type=registry \ | |
--build-arg RONDB_VERSION=$RONDB_VERSION_LTS \ | |
--build-arg RONDB_TARBALL_LOCAL_REMOTE=remote \ | |
--build-arg RONDB_TARBALL_URI=https://repo.hops.works/master/rondb-$RONDB_VERSION_LTS-linux-glibc2.35-arm64_v8.tar.gz \ | |
--cache-to type=registry,ref=hopsworks/rondb-standalone-cache,mode=max \ | |
--cache-from type=registry,ref=hopsworks/rondb-standalone-cache,mode=max | |
- name: Build and push ARM64 image for RONDB_VERSION_STABLE | |
run: | | |
docker buildx build . \ | |
--tag hopsworks/$ARM_IMAGE_NAME:$RONDB_VERSION_STABLE \ | |
--tag hopsworks/$ARM_IMAGE_NAME:latest \ | |
--platform=linux/arm64 \ | |
--output type=registry \ | |
--build-arg RONDB_VERSION=$RONDB_VERSION_STABLE \ | |
--build-arg RONDB_TARBALL_LOCAL_REMOTE=remote \ | |
--build-arg RONDB_TARBALL_URI=https://repo.hops.works/master/rondb-$RONDB_VERSION_STABLE-linux-glibc2.35-arm64_v8.tar.gz \ | |
--cache-to type=registry,ref=hopsworks/rondb-standalone-cache,mode=max \ | |
--cache-from type=registry,ref=hopsworks/rondb-standalone-cache,mode=max | |
build-and-push-cross-platform-image: | |
runs-on: ubuntu-latest | |
if: github.repository == 'logicalclocks/rondb-docker' && github.ref_name == 'main' | |
needs: [integration-test-and-package, build-and-push-ARM64] | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to Dockerhub | |
uses: docker/login-action@v2 | |
with: | |
username: hopsworks | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create and push multi-platform image | |
run: | | |
docker buildx imagetools create -t hopsworks/rondb-standalone:$RONDB_VERSION_LTS \ | |
hopsworks/$AMD_IMAGE_NAME:$RONDB_VERSION_LTS \ | |
hopsworks/$ARM_IMAGE_NAME:$RONDB_VERSION_LTS | |
docker buildx imagetools create -t hopsworks/rondb-standalone:$RONDB_VERSION_STABLE \ | |
hopsworks/$AMD_IMAGE_NAME:$RONDB_VERSION_STABLE \ | |
hopsworks/$ARM_IMAGE_NAME:$RONDB_VERSION_STABLE | |
docker buildx imagetools create -t hopsworks/rondb-standalone:latest \ | |
hopsworks/$AMD_IMAGE_NAME:latest \ | |
hopsworks/$ARM_IMAGE_NAME:latest |