Skip to content

Fix parsing of java_versions_supported in bin/cassandra.in.sh #138

Fix parsing of java_versions_supported in bin/cassandra.in.sh

Fix parsing of java_versions_supported in bin/cassandra.in.sh #138

Workflow file for this run

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: CI - Python 3.x
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 0 * * 0'
jobs:
lint_test_smoke:
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: ['3.8', '3.11'] # TODO add '3.12' '3.13' '3.14'
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Set up Python environment
run: |
pip install --upgrade pip
pip install -r requirements.txt && pip install -r tests/requirements.txt
- name: Run linter
run: |
pylint --output-format msvs --reports y ccmlib || true
pylint --output-format msvs --reports y tests || true
- name: Run tests
run: |
pytest --junitxml=junit.xml tests
- name: Smoke tests
run: |
sudo ./setup.py install
set -x
LATEST_4_0=$(curl -s https://downloads.apache.org/cassandra/ | grep -oE '4\.0\.[0-9]+' | sort -V | tail -1)
LATEST_4_1=$(curl -s https://downloads.apache.org/cassandra/ | grep -oE '4\.1\.[0-9]+' | sort -V | tail -1)
LATEST_5_0=$(curl -s https://downloads.apache.org/cassandra/ | grep -oE '5\.0\.[0-9]+' | sort -V | tail -1)
ccm_test() {
for i in {1..9}; do
echo "Checking nc -z 127.0.0.1 7000"
while nc -z 127.0.0.1 7000 ; do echo . ; ./ccm stop || true ; sleep 1 ; done
./ccm start -v && ./ccm remove && return 0 || echo retrying
sleep 20
done
echo "ccm start failed after 9 attempts"
exit 1
}
export -f ccm_test
./ccm create -h
./ccm create test -v ${LATEST_4_0} -n1 --vnodes --quiet
ccm_test
./ccm create test -v ${LATEST_4_1} -n1 --vnodes --quiet
ccm_test
./ccm create test -v ${LATEST_5_0} -n1 --vnodes --quiet
ccm_test
./ccm create test --version='git:cassandra-4.0' -n1 --vnodes --quiet
ccm_test
./ccm create test --version='git:cassandra-4.1' -n1 --vnodes --quiet
ccm_test
./ccm create test --version='git:cassandra-5.0' -n1 --vnodes --quiet
ccm_test
./ccm create test --version='git:trunk' -n1 --vnodes --quiet
ccm_test
- name: Publish Test Report
uses: mikepenz/action-junit-report@v5
if: always()
with:
report_paths: 'junit.xml'
annotate_only: true