Skip to content

will it blend?

will it blend? #107

Workflow file for this run

name: Tests
on:
push:
branches: [ scylla-3.*x ]
pull_request:
branches: [ scylla-3.*x ]
workflow_dispatch:
jobs:
build:
name: Build
runs-on: ubuntu-20.04
timeout-minutes: 10
strategy:
matrix:
java-version: [8, 11]
fail-fast: false
steps:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java-version }}
distribution: 'adopt'
- name: Compile source and tests
run: mvn -B compile test-compile -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true
verify:
name: Full verify
runs-on: ubuntu-20.04
timeout-minutes: 10
strategy:
matrix:
java-version: [8, 11]
fail-fast: false
steps:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java-version }}
distribution: 'adopt'
- name: Full verify
run: mvn -B verify -DskipTests
unit-tests:
name: Unit tests
runs-on: ubuntu-20.04
timeout-minutes: 10
steps:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'adopt'
- name: Run unit tests
run: mvn -B test -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true
- name: Copy test results
if: success() || failure()
run: |
shopt -s globstar
mkdir unit
cp --parents ./**/target/*-reports/*.xml unit/
- name: Upload test results
uses: actions/upload-artifact@v2
if: success() || failure()
with:
name: test-results
path: "*/**/target/*-reports/*.xml"
setup-integration-tests:
name: Setup ITs
runs-on: ubuntu-20.04
timeout-minutes: 2
steps:
- name: Checkout source
uses: actions/checkout@v2
- name: Setup Python 3
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Fetch Scylla and Cassandra versions
id: fetch-versions
run: |
pip3 install -r ci/requirements.txt
echo "::set-output name=scylla-integration-tests-versions::$(python3 ci/version_fetch.py scylla-oss-stable:2 scylla-oss-rc scylla-enterprise-stable:2 scylla-enterprise-rc)"
echo "::set-output name=cassandra-integration-tests-versions::$(python3 ci/version_fetch.py cassandra3-stable:1)"
outputs:
scylla-integration-tests-versions: ${{ steps.fetch-versions.outputs.scylla-integration-tests-versions }}
cassandra-integration-tests-versions: ${{ steps.fetch-versions.outputs.cassandra-integration-tests-versions }}
cassandra-integration-tests:
name: Cassandra ITs
runs-on: ubuntu-20.04
needs: [setup-integration-tests]
timeout-minutes: 90
strategy:
matrix:
cassandra-version: ${{ fromJson(needs.setup-integration-tests.outputs.cassandra-integration-tests-versions) }}
fail-fast: false
steps:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'adopt'
- name: Setup Python 3
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Setup environment
run: |
sudo sh -c "echo 'deb http://security.ubuntu.com/ubuntu xenial-security main' >> /etc/apt/sources.list"
sudo apt-get update
sudo apt-get install libssl1.0.0
pip3 install https://github.com/scylladb/scylla-ccm/archive/master.zip
- name: Run integration tests on Cassandra (${{ matrix.cassandra-version }})
run: while mvn verify -Pshort -Dcassandra.version=3.11.15 -Dtest=*Aware* -Dsurefire.failIfNoSpecifiedTests=false -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true; do :; done
- name: Copy test results
if: success() || failure()
run: |
shopt -s globstar
mkdir cassandra-${{ matrix.cassandra-version }}
cp --parents ./**/target/*-reports/*.xml cassandra-${{ matrix.cassandra-version }}/
- name: Upload test results
uses: actions/upload-artifact@v2
if: success() || failure()
with:
name: test-results
path: "*/**/target/*-reports/*.xml"
- name: Upload CCM logs
uses: actions/upload-artifact@v2
if: ${{ failure() }}
with:
name: ccm-logs-cassandra-${{ matrix.cassandra-version }}
path: /tmp/*-0/ccm*/node*/logs/*
scylla-integration-tests:
name: Scylla ITs
runs-on: ubuntu-20.04
needs: [setup-integration-tests]
timeout-minutes: 90
strategy:
matrix:
scylla-version: ${{ fromJson(needs.setup-integration-tests.outputs.scylla-integration-tests-versions) }}
fail-fast: false
steps:
- name: Checkout source
uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'adopt'
- name: Setup Python 3
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Setup environment
run: |
sudo sh -c "echo 'deb http://security.ubuntu.com/ubuntu xenial-security main' >> /etc/apt/sources.list"
sudo apt-get update
sudo apt-get install libssl1.0.0
pip3 install https://github.com/scylladb/scylla-ccm/archive/master.zip
sudo sh -c "echo 2097152 >> /proc/sys/fs/aio-max-nr"
- name: Run integration tests on Scylla (${{ matrix.scylla-version }})
run: while mvn verify -Pshort -Dcassandra.version=3.11.15 -Dtest=*Aware* -Dsurefire.failIfNoSpecifiedTests=false -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true; do :; done
- name: Copy test results
if: success() || failure()
run: |
shopt -s globstar
mkdir scylla-${{ matrix.scylla-version }}
cp --parents ./**/target/*-reports/*.xml scylla-${{ matrix.scylla-version }}/
- name: Upload test results
uses: actions/upload-artifact@v2
if: success() || failure()
with:
name: test-results
path: "*/**/target/*-reports/*.xml"
- name: Upload CCM logs
uses: actions/upload-artifact@v2
if: ${{ failure() }}
with:
name: ccm-logs-scylla-${{ matrix.scylla-version }}
path: /tmp/*-0/ccm*/node*/logs/*