| # 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: End to End Tests |
| |
| on: |
| push: |
| pull_request: |
| |
| jobs: |
| compatibility: |
| strategy: |
| matrix: |
| jdk: [8, 11] |
| zk: [3.5.9, 3.6.3, 3.7.0, nightly] |
| fail-fast: false |
| timeout-minutes: 360 |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v3 |
| - name: Set up JDK ${{ matrix.jdk }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.jdk }} |
| distribution: temurin |
| - name: Cache local maven repository |
| uses: actions/cache@v3 |
| with: |
| path: | |
| ~/.m2/repository/ |
| !~/.m2/repository/org/apache/zookeeper |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} |
| restore-keys: ${{ runner.os }}-m2 |
| - name: Show the first log message |
| run: git log -n1 |
| - name: Install C Dependencies |
| run: | |
| sudo apt update |
| sudo apt install -y libcppunit-dev libsasl2-dev |
| - name: Build with Maven |
| run: mvn -B -V -e -ntp "-Dstyle.color=always" package -DskipTests |
| env: |
| MAVEN_OPTS: -Djansi.force=true |
| - name: Download ZooKeeper ${{ matrix.zk }} |
| if: matrix.zk != 'nightly' |
| run: | |
| curl -O https://archive.apache.org/dist/zookeeper/zookeeper-${{ matrix.zk }}/apache-zookeeper-${{ matrix.zk }}-bin.tar.gz |
| tar -xzvf apache-zookeeper-${{ matrix.zk }}-bin.tar.gz |
| - name: Test ZooKeeper nightly server and ${{ matrix.zk }} client |
| if: matrix.zk != 'nightly' |
| run: tools/ci/test-connectivity.py --server . --client apache-zookeeper-${{ matrix.zk }}-bin |
| env: |
| ZOOCFG: zoo_sample.cfg |
| - name: Test ZooKeeper ${{ matrix.zk }} server and nightly client |
| if: matrix.zk != 'nightly' |
| run: tools/ci/test-connectivity.py --server apache-zookeeper-${{ matrix.zk }}-bin --client . |
| env: |
| ZOOCFG: zoo_sample.cfg |
| - name: Test ZooKeeper nightly server and client |
| if: matrix.zk == 'nightly' |
| run: tools/ci/test-connectivity.py --server . --client . |
| env: |
| ZOOCFG: zoo_sample.cfg |