Skip to content

In ubuntu2004_test automatically find the latest available patch version for each C* major.minor #4025

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

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions .build/docker/ubuntu2004_test.docker
Original file line number Diff line number Diff line change
Expand Up @@ -124,22 +124,23 @@ RUN /bin/bash -c "source ${BUILD_HOME}/env3.8/bin/activate && \
ccm create -n 1 -v git:cassandra-4.1 test && ccm remove test && \
ccm create -n 1 -v git:cassandra-4.0 test && ccm remove test"

# Initialize ccm versions. right side of each sequence needs to be updated with new releases.
# this can be checked with:
# `curl -s https://downloads.apache.org/cassandra/ | grep -oP '(?<=href=\")[0-9]+\.[0-9]+\.[0-9]+(?=)' | sort -rV | uniq -w 3`
# Initialize ccm versions. branch heads and all versions iterating through to the latest version found on downloads.apache.org/cassandra
RUN bash -c 'source ${BUILD_HOME}/env3.8/bin/activate && \
for i in {1..14} ; do echo $i ; ccm create --quiet -n 1 -v binary:4.0.$i test && ccm remove test ; done && \
for i in {1..7} ; do echo $i ; ccm create --quiet -n 1 -v binary:4.1.$i test && ccm remove test ; done'
latest_4_0=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP "(?<=href=\")4\.0\.[0-9]+(?=\")" | sort -V | tail -1 | cut -d"." -f3) && \
for i in $(seq 1 $latest_4_0); do echo $i ; ccm create --quiet -n 1 -v binary:4.0.$i test && ccm remove test ; done && \
latest_4_1=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP "(?<=href=\")4\.1\.[0-9]+(?=\")" | sort -V | tail -1 | cut -d"." -f3) && \
for i in $(seq 1 $latest_4_1); do echo $i ; ccm create --quiet -n 1 -v binary:4.1.$i test && ccm remove test ; done'

# 5+ requires java11
RUN sudo update-java-alternatives --set java-1.11.0-openjdk-$(dpkg --print-architecture)

# Initialize the CCM git repo, after removing the git cache, as this also can fail to clone
# Initialize ccm versions. branch heads and all versions iterating through to the latest version found on downloads.apache.org/cassandra
RUN rm -fr ${BUILD_HOME}/.ccm/repository/_git_cache_apache
RUN /bin/bash -c 'source ${BUILD_HOME}/env3.8/bin/activate && \
ccm create --quiet -n 1 -v git:cassandra-5.0 test && ccm remove test && \
ccm create --quiet -n 1 -v git:trunk test && ccm remove test && \
for i in {1..2} ; do echo $i ; ccm create --quiet -n 1 -v binary:5.0.$i test && ccm remove test ; done'
latest_5_0=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP "(?<=href=\")5\.0\.[0-9]+(?=\")" | sort -V | tail -1 | cut -d"." -f3) && \
for i in $(seq 1 $latest_5_0); do echo $i ; ccm create --quiet -n 1 -v binary:5.0.$i test && ccm remove test ; done'

# the .git subdirectories to pip installed cassandra-driver breaks virtualenv-clone, so just remove them
# and other directories we don't need in image
Expand Down