diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index d9d2a38..3bb12b1 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -11,17 +11,22 @@ on: jobs: create_release: - runs-on: ubuntu-20.04 # newest available distribution, aka focal + runs-on: ubuntu-22.04 # newest available distribution, aka jellyfish steps: - name: Checkout Repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: # Prevent use of implicit GitHub Actions read-only token GITHUB_TOKEN. We don't deploy on # the tag MAJOR.MINOR.PATCH event, but we still need to deploy the maven-release-plugin master commit. token: ${{ secrets.GH_TOKEN }} - fetch-depth: 1 # only need the base commit as license check isn't run + fetch-depth: 1 # only need the HEAD commit as license check isn't run + - name: Setup java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' # zulu as it supports a wide version range + java-version: '11' # earliest LTS and last that can compile the 1.6 release profile. - name: Cache local Maven repository - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 411edac..e4069ac 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,20 +14,34 @@ on: jobs: deploy: - runs-on: ubuntu-20.04 # newest available distribution, aka focal + runs-on: ubuntu-22.04 # newest available distribution, aka jellyfish steps: - name: Checkout Repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: - fetch-depth: 1 # only needed to get the sha label + # Prevent use of implicit GitHub Actions read-only token GITHUB_TOKEN. + # We push Javadocs to the gh-pages branch on commit. + token: ${{ secrets.GH_TOKEN }} + fetch-depth: 0 # allow build-bin/idl_to_gh_pages to get the full history + - name: Setup java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' # zulu as it supports a wide version range + java-version: '11' # earliest LTS and last that can compile the 1.6 release profile. - name: Cache local Maven repository - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-maven- - name: Deploy env: + # GH_USER= + GH_USER: ${{ secrets.GH_USER }} + # GH_TOKEN= + # - pushes gh-pages during build-bin/javadoc_to_gh_pages + # - create via https://github.com/settings/tokens + GH_TOKEN: ${{ secrets.GH_TOKEN }} GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} # GPG_PASSPHRASE= # - referenced in .settings.xml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 49040c1..1339232 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,21 +15,58 @@ on: paths-ignore: '**/*.md' jobs: + test-javadoc: + name: Test JavaDoc Builds + runs-on: ubuntu-22.04 # newest available distribution, aka jellyfish + if: "!contains(github.event.head_commit.message, 'maven-release-plugin')" + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # full git history for license check + - name: Setup java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' # zulu as it supports a wide version range + java-version: '11' # earliest LTS and last that can compile the 1.6 release profile. + - name: Cache local Maven repository + uses: actions/cache@v3 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-jdk-11-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-jdk-11-maven- + - name: Build JavaDoc + run: ./mvnw clean javadoc:aggregate -Prelease + test: - runs-on: ubuntu-20.04 # newest available distribution, aka focal + name: test (JDK ${{ matrix.java_version }}) + runs-on: ubuntu-22.04 # newest available distribution, aka jellyfish if: "!contains(github.event.head_commit.message, 'maven-release-plugin')" + strategy: + fail-fast: false # don't fail fast as sometimes failures are operating system specific + matrix: # use latest available versions and be consistent on all workflows! + include: + - java_version: 11 # Last that can compile brave to 1.6 + maven_args: -Prelease -Dgpg.skip -Dmaven.javadoc.skip=true + - java_version: 21 # Most recent LTS steps: - name: Checkout Repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + fetch-depth: 0 # full git history for license check + - name: Setup java + uses: actions/setup-java@v4 with: - fetch-depth: 0 # full git history for license check + distribution: 'zulu' # zulu as it supports a wide version range + java-version: ${{ matrix.java_version }} - name: Cache local Maven repository - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: ${{ runner.os }}-maven- - # We can't cache Docker without using buildx because GH actions restricts /var/lib/docker - # That's ok because DOCKER_PARENT_IMAGE is always ghcr.io and local anyway. + key: ${{ runner.os }}-jdk-${{ matrix.java_version }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-jdk-${{ matrix.java_version }}-maven- + # Don't attempt to cache Docker. Sensitive information can be stolen + # via forks, and login session ends up in ~/.docker. This is ok because + # we publish DOCKER_PARENT_IMAGE to ghcr.io, hence local to the runner. - name: Test run: build-bin/configure_test && build-bin/test diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar index 2cc7d4a..cb28b0e 100644 Binary files a/.mvn/wrapper/maven-wrapper.jar and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 642d572..346d645 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,18 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar +# 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. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/build-bin/docker/configure_docker b/build-bin/docker/configure_docker index 3b654cd..750d30e 100755 --- a/build-bin/docker/configure_docker +++ b/build-bin/docker/configure_docker @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 @@ -25,13 +25,8 @@ set -ue # * checks.disable=true - saves time and a docker.io pull of alpine # * ryuk doesn't count against docker.io rate limits because Docker approved testcontainers as OSS echo checks.disable=true >> ~/.testcontainers.properties -# * upgrade ryuk until https://github.com/testcontainers/testcontainers-java/pull/3630 -echo ryuk.container.image=testcontainers/ryuk:0.3.1 >> ~/.testcontainers.properties # We don't use any docker.io images, but add a Google's mirror in case something implicitly does # * See https://cloud.google.com/container-registry/docs/pulling-cached-images echo '{ "registry-mirrors": ["https://mirror.gcr.io"] }' | sudo tee /etc/docker/daemon.json sudo service docker restart - -# * Ensure buildx and related features are disabled -mkdir -p ${HOME}/.docker && echo '{"experimental":"disabled"}' > ${HOME}/.docker/config.json diff --git a/build-bin/git/login_git b/build-bin/git/login_git index b0ab0fb..1af00df 100755 --- a/build-bin/git/login_git +++ b/build-bin/git/login_git @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 diff --git a/build-bin/git/version_from_trigger_tag b/build-bin/git/version_from_trigger_tag index 95c6ca6..5687c9e 100755 --- a/build-bin/git/version_from_trigger_tag +++ b/build-bin/git/version_from_trigger_tag @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 @@ -13,8 +13,6 @@ # the License. # -set -ue - # This script echos a `MAJOR.MINOR.PATCH` version tag based on.. # * arg1: XXXXX- prefix # * arg2: XXXXX-MAJOR.MINOR.PATCH git trigger tag @@ -23,6 +21,8 @@ set -ue # # Note: In CI, `build-bin/git/login_git` must be called before invoking this. +set -ue + trigger_tag_prefix=${1?required. Ex docker- to match docker-1.2.3} trigger_tag=${2?trigger_tag is required. Ex ${trigger_tag_prefix}1.2.3} diff --git a/build-bin/gpg/configure_gpg b/build-bin/gpg/configure_gpg index cacfae4..fa90991 100755 --- a/build-bin/gpg/configure_gpg +++ b/build-bin/gpg/configure_gpg @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 @@ -13,10 +13,10 @@ # the License. # -set -ue - # This script prepares GPG, needed to sign jars for Sonatype deployment during `maven_deploy` +set -ue + # ensure GPG commands work non-interactively export GPG_TTY=$(tty) # import signing key used for jar files diff --git a/build-bin/maven/maven_deploy b/build-bin/maven/maven_deploy index 86a9550..a8d2015 100755 --- a/build-bin/maven/maven_deploy +++ b/build-bin/maven/maven_deploy @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 diff --git a/build-bin/maven/maven_go_offline b/build-bin/maven/maven_go_offline index c999856..7314556 100755 --- a/build-bin/maven/maven_go_offline +++ b/build-bin/maven/maven_go_offline @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 diff --git a/build-bin/maven/maven_opts b/build-bin/maven/maven_opts index 9396cc2..6d89fe5 100755 --- a/build-bin/maven/maven_opts +++ b/build-bin/maven/maven_opts @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 diff --git a/build-bin/maven/maven_release b/build-bin/maven/maven_release index bbce51d..fd45c0c 100755 --- a/build-bin/maven/maven_release +++ b/build-bin/maven/maven_release @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2017-2020 The OpenZipkin Authors +# Copyright 2017-2024 The OpenZipkin Authors # # Licensed 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 diff --git a/cassandra-driver/pom.xml b/cassandra-driver/pom.xml index 82ee20b..dd41132 100644 --- a/cassandra-driver/pom.xml +++ b/cassandra-driver/pom.xml @@ -1,7 +1,7 @@ - 1.8 - java18 + 1.8 + 1.8 + + 8 - 3.10.2 - 5.13.3 + + 11 + 11 + 11 - 4.13.1 - 5.7.0 - 3.18.1 - 1.15.1 + 3.11.2 + 5.18.0 - 2.4.0 - 2.14.0 + 2.24.1 + 2.22.1 + 4.12.0 + + 5.10.1 + 3.25.1 + 5.8.0 + 1.19.3 ${skipTests} + + - 1.19 1.2.8 - 4.0.rc2 - 5.1.1 - 3.8.1 + 4.3 + 5.1.9 + 3.12.1 - 3.1.2 - 3.0.0-M1 - 3.0.0-M3 + 3.6.1 + 3.1.1 + 3.4.1 - 3.2.0 - 3.0.0-M1 - 3.2.0 - 3.2.0 - 3.0.0-M1 - 3.2.4 - 3.2.1 - 3.0.0-M5 - 1.6.8 + 3.4.0 + 3.1.1 + 3.6.3 + 3.3.0 + 3.0.1 + 3.5.1 + 3.3.0 + 3.2.3 + 1.6.13 @@ -131,6 +141,7 @@ org.apache.cassandra cassandra-all + 3.11.9 @@ -143,11 +154,10 @@ - com.fasterxml.jackson jackson-bom - 2.12.0 + 2.16.1 pom import @@ -164,62 +174,48 @@ ${brave.version} - - - junit - junit - ${junit.version} - test - - org.junit.jupiter junit-jupiter ${junit-jupiter.version} test - - org.junit.vintage - junit-vintage-engine - ${junit-jupiter.version} - test - - - - org.junit.jupiter - junit-jupiter-api - ${junit-jupiter.version} - test - - - org.junit.jupiter - junit-jupiter-engine - ${junit-jupiter.version} - test - org.assertj assertj-core ${assertj.version} + + + + net.bytebuddy + * + + test - + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + test + + org.apache.logging.log4j log4j-jul ${log4j.version} test - + org.apache.logging.log4j log4j-1.2-api ${log4j.version} test - + org.apache.logging.log4j log4j-slf4j-impl @@ -231,16 +227,6 @@ - - - io.takari - maven - 0.7.7 - - 3.6.3 - - - de.qaware.maven @@ -249,13 +235,6 @@ - - org.codehaus.mojo.signature - ${main.signature.artifact} - 1.0 - signature - MAIN - com.mycila license-maven-plugin-git @@ -283,8 +262,6 @@ ${maven-compiler-plugin.version} true - ${main.java.version} - ${main.java.version} true true @@ -372,7 +349,7 @@ maven-remote-resources-plugin - 1.7.0 + 3.1.0 @@ -388,27 +365,6 @@ ${maven-help-plugin.version} - - org.codehaus.mojo - animal-sniffer-maven-plugin - ${animal-sniffer-maven-plugin.version} - - - org.codehaus.mojo.signature - ${main.signature.artifact} - 1.0 - - false - - - - - check - - - - - maven-surefire-plugin ${maven-surefire-plugin.version} @@ -420,6 +376,7 @@ org.apache.logging.log4j:log4j-jul + ${maven-surefire-plugin.argLine} @@ -441,15 +398,9 @@ false false - - - org.apache.logging.log4j.jul.LogManager - - - false + ${maven-failsafe-plugin.argLine} @@ -465,7 +416,9 @@ - [11,16) + + [11,12),[17,18),[21,22) @@ -553,9 +506,10 @@ - error-prone + error-prone-11+ - true + + [11,12),[17,18),[21,22) @@ -564,8 +518,6 @@ ${maven-compiler-plugin.version} true - ${main.java.version} - ${main.java.version} true true @@ -582,6 +534,17 @@ -XDcompilePolicy=simple -Xplugin:ErrorProne ${errorprone.args} + + -J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED + -J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED + -J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED + -J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED + -J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED + -J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED + -J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED + -J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED @@ -609,16 +572,17 @@ ossrh https://oss.sonatype.org/ - - 10 + + 30 true maven-gpg-plugin - 1.6 + 3.1.0 sign-artifacts