From 868d33d696bcfef755bc9a605905421e246640f1 Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 19 Dec 2024 15:17:49 -0800 Subject: [PATCH 01/11] update pom version on main --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 35022e3b1..c72af4f39 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ under the License. org.apache.datasketches datasketches-java - 7.0.0 + 7.1.0-SNAPSHOT jar ${project.artifactId} From 763c58a5fd0ed006a52ae1bdd439efdca8e5dfbd Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Sat, 28 Dec 2024 12:53:14 -0800 Subject: [PATCH 02/11] Fix workflows in main. --- .github/workflows/auto-jdk-matrix.yml | 100 ++++++++------- .github/workflows/auto-os-matrix.yml | 118 +++++++++--------- ...heck_cpp_files.yml => check_cpp_files.yml} | 7 +- .github/workflows/codeql-analysis.yml | 83 ++++++++++++ .../{manual-javadoc.yml => javadoc.yml} | 0 .github/workflows/manual-codeql-analysis.yml | 57 --------- 6 files changed, 202 insertions(+), 163 deletions(-) rename .github/workflows/{auto-check_cpp_files.yml => check_cpp_files.yml} (70%) create mode 100644 .github/workflows/codeql-analysis.yml rename .github/workflows/{manual-javadoc.yml => javadoc.yml} (100%) delete mode 100644 .github/workflows/manual-codeql-analysis.yml diff --git a/.github/workflows/auto-jdk-matrix.yml b/.github/workflows/auto-jdk-matrix.yml index f8220bbe2..9312589df 100644 --- a/.github/workflows/auto-jdk-matrix.yml +++ b/.github/workflows/auto-jdk-matrix.yml @@ -1,67 +1,71 @@ name: DataSketches-Java Auto JDK Matrix Test & Install on: - pull_request: - push: - branches: [ master, main ] - workflow_dispatch: + push: + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] + pull_request: + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + # The branches below must be a subset of the branches above + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] + workflow_dispatch: env: - MAVEN_OPTS: -Xmx4g -Xms1g + MAVEN_OPTS: -Xmx4g -Xms1g jobs: - build: - name: Build, Test, Install - runs-on: ubuntu-latest + build: + name: Build, Test, Install + runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - jdk: [ 17 ] + strategy: + fail-fast: false + matrix: + jdk: [ 17 ] - env: - JDK_VERSION: ${{ matrix.jdk }} + env: + JDK_VERSION: ${{ matrix.jdk }} - steps: - - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 - with: - persist-credentials: false + steps: + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@v4 + with: + persist-credentials: false - - name: Print Current workflow - run: > - cat .github/workflows/auto-jdk-matrix.yml + - name: Print Current workflow + run: > + cat .github/workflows/auto-jdk-matrix.yml - - name: Cache local Maven repository - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: build-${{ runner.os }}-maven- + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: build-${{ runner.os }}-maven- - - name: Install Matrix JDK - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.jdk }} - distribution: 'temurin' - java-package: jdk - architecture: x64 + - name: Install Matrix JDK + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.jdk }} + distribution: 'temurin' + java-package: jdk + architecture: x64 - - name: Echo Java Version - run: > - java -version + - name: Echo Java Version + run: > + java -version - - name: Test - run: > - mvn clean test -B - -Dmaven.javadoc.skip=true - -Dgpg.skip=true + - name: Test + run: > + mvn clean test -B + -Dmaven.javadoc.skip=true + -Dgpg.skip=true - - name: Install - run: > - mvn clean install -B - -DskipTests=true - -Dgpg.skip=true + - name: Install + run: > + mvn clean install -B + -DskipTests=true + -Dgpg.skip=true # Architecture options: x86, x64, armv7, aarch64, ppc64le # setup-java@v4 has a "with cache" option diff --git a/.github/workflows/auto-os-matrix.yml b/.github/workflows/auto-os-matrix.yml index d9f5bc4c5..9fb6f2812 100644 --- a/.github/workflows/auto-os-matrix.yml +++ b/.github/workflows/auto-os-matrix.yml @@ -1,77 +1,81 @@ name: DataSketches-Java Auto OS Matrix Test & Install on: - pull_request: - push: - branches: [ master, main ] - workflow_dispatch: + push: + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] + pull_request: + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + # The branches below must be a subset of the branches above + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] + workflow_dispatch: env: - MAVEN_OPTS: -Xmx1g -Xms1g + MAVEN_OPTS: -Xmx4g -Xms1g jobs: - build: - name: Build, Test, Install + build: + name: Build, Test, Install - strategy: - fail-fast: false + strategy: + fail-fast: false - matrix: - jdk: [ 17 ] - os: [ windows-latest, ubuntu-latest, macos-latest ] - include: - - os: windows-latest - skip_javadoc: "`-Dmaven`.javadoc`.skip=true" - skip_gpg: "`-Dgpg`.skip=true" - - os: ubuntu-latest - skip_javadoc: -Dmaven.javadoc.skip=true - skip_gpg: -Dgpg.skip=true - - os: macos-latest - skip_javadoc: -Dmaven.javadoc.skip=true - skip_gpg: -Dgpg.skip=true + matrix: + jdk: [ 17 ] + os: [ windows-latest, ubuntu-latest, macos-latest ] + include: + - os: windows-latest + skip_javadoc: "`-Dmaven`.javadoc`.skip=true" + skip_gpg: "`-Dgpg`.skip=true" + - os: ubuntu-latest + skip_javadoc: -Dmaven.javadoc.skip=true + skip_gpg: -Dgpg.skip=true + - os: macos-latest + skip_javadoc: -Dmaven.javadoc.skip=true + skip_gpg: -Dgpg.skip=true - runs-on: ${{matrix.os}} + runs-on: ${{matrix.os}} - env: - JDK_VERSION: ${{ matrix.jdk }} + env: + JDK_VERSION: ${{ matrix.jdk }} - steps: - - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 - with: - persist-credentials: false + steps: + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@v4 + with: + persist-credentials: false - - name: Cache local Maven repository - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: build-${{ runner.os }}-maven- + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: build-${{ runner.os }}-maven- - - name: Install Matrix JDK - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.jdk }} - distribution: 'temurin' - java-package: jdk - architecture: x64 + - name: Install Matrix JDK + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.jdk }} + distribution: 'temurin' + java-package: jdk + architecture: x64 - - name: Echo Java Version - run: > - java -version + - name: Echo Java Version + run: > + java -version - - name: Test - run: > - mvn clean test - ${{matrix.os.skip_javadoc}} - ${{matrix.os.skip_gpg}} + - name: Test + run: > + mvn clean test + ${{matrix.os.skip_javadoc}} + ${{matrix.os.skip_gpg}} - - name: Install - run: > - mvn clean install -B - ${{matrix.os.skip_javadoc}} - -D skipTests=true - ${{matrix.os.skip_gpg}} + - name: Install + run: > + mvn clean install -B + ${{matrix.os.skip_javadoc}} + -D skipTests=true + ${{matrix.os.skip_gpg}} # Architecture options: x86, x64, armv7, aarch64, ppc64le # setup-java@v4 has a "with cache" option diff --git a/.github/workflows/auto-check_cpp_files.yml b/.github/workflows/check_cpp_files.yml similarity index 70% rename from .github/workflows/auto-check_cpp_files.yml rename to .github/workflows/check_cpp_files.yml index 068b12f4d..4ca9e0aa4 100644 --- a/.github/workflows/auto-check_cpp_files.yml +++ b/.github/workflows/check_cpp_files.yml @@ -2,7 +2,12 @@ name: Serialization Compatibility Test on: push: - branches: [ master, main ] + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] + pull_request: + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + # The branches below must be a subset of the branches above + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] workflow_dispatch: jobs: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000..e6589b243 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,83 @@ +name: "CodeQL" + +on: + push: + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] + pull_request: + paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/.*', '**/LICENSE', '**/NOTICE' ] + # The branches below must be a subset of the branches above + branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ] + workflow_dispatch: + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + cache: 'maven' + java-version: '17' + + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # Details on CodeQL's query packs refer to link below. + + - name: Custom building using maven + run: > + mvn clean package -f "pom.xml" -B -V -e + -Dfindbugs.skip=true + -Dcheckstyle.skip=true + -Dpmd.skip=true + -Denforcer.skip + -Dmaven.javadoc.skip + -DskipTests=true + -Dmaven.test.skip.exec + -Dlicense.skip=true + -Dweb.console.skip=true + -Dgpg.skip=true + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" + + +# CodeQL's Query Packs: +# https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + +# Command-line programs to run using the OS shell. +# See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + +# Architecture options: x86, x64, armv7, aarch64, ppc64le +# Lifecycles: validate, compile, test, package, verify, install, deploy +# -B batch mode, never stops for user input +# -V show Version without stopping +# -X debug mode +# -q quiet, only show errors +# -e produce execution error messages \ No newline at end of file diff --git a/.github/workflows/manual-javadoc.yml b/.github/workflows/javadoc.yml similarity index 100% rename from .github/workflows/manual-javadoc.yml rename to .github/workflows/javadoc.yml diff --git a/.github/workflows/manual-codeql-analysis.yml b/.github/workflows/manual-codeql-analysis.yml deleted file mode 100644 index 1b94d13a3..000000000 --- a/.github/workflows/manual-codeql-analysis.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: "CodeQL" - -on: - workflow_dispatch: - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'java' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v4 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - queries: +security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v4 - - # Command-line programs to run using the OS shell. - # See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 - with: - category: "/language:${{matrix.language}}" From 4ace77e9fa449825be917610c248bf8edb919d1a Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 10:45:01 -0800 Subject: [PATCH 03/11] change step indentations --- .github/workflows/auto-jdk-matrix.yml | 66 +++++++++++++-------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/workflows/auto-jdk-matrix.yml b/.github/workflows/auto-jdk-matrix.yml index 9312589df..7468a3e0e 100644 --- a/.github/workflows/auto-jdk-matrix.yml +++ b/.github/workflows/auto-jdk-matrix.yml @@ -27,45 +27,45 @@ jobs: JDK_VERSION: ${{ matrix.jdk }} steps: - - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 - with: - persist-credentials: false + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@v4 + with: + persist-credentials: false - - name: Print Current workflow - run: > - cat .github/workflows/auto-jdk-matrix.yml + - name: Print Current workflow + run: > + cat .github/workflows/auto-jdk-matrix.yml - - name: Cache local Maven repository - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: build-${{ runner.os }}-maven- + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: build-${{ runner.os }}-maven- - - name: Install Matrix JDK - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.jdk }} - distribution: 'temurin' - java-package: jdk - architecture: x64 + - name: Install Matrix JDK + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.jdk }} + distribution: 'temurin' + java-package: jdk + architecture: x64 - - name: Echo Java Version - run: > - java -version + - name: Echo Java Version + run: > + java -version - - name: Test - run: > - mvn clean test -B - -Dmaven.javadoc.skip=true - -Dgpg.skip=true + - name: Test + run: > + mvn clean test -B + -Dmaven.javadoc.skip=true + -Dgpg.skip=true - - name: Install - run: > - mvn clean install -B - -DskipTests=true - -Dgpg.skip=true + - name: Install + run: > + mvn clean install -B + -DskipTests=true + -Dgpg.skip=true # Architecture options: x86, x64, armv7, aarch64, ppc64le # setup-java@v4 has a "with cache" option From f5b99618f24cc048450ef0dc4b20ab99ebf20889 Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 13:35:34 -0800 Subject: [PATCH 04/11] repair indentations --- .github/workflows/auto-jdk-matrix.yml | 68 +++++++++++++-------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/auto-jdk-matrix.yml b/.github/workflows/auto-jdk-matrix.yml index 7468a3e0e..5adbbbe08 100644 --- a/.github/workflows/auto-jdk-matrix.yml +++ b/.github/workflows/auto-jdk-matrix.yml @@ -26,46 +26,46 @@ jobs: env: JDK_VERSION: ${{ matrix.jdk }} - steps: - - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 - with: - persist-credentials: false + steps: + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@v4 + with: + persist-credentials: false - - name: Print Current workflow - run: > - cat .github/workflows/auto-jdk-matrix.yml + - name: Print Current workflow + run: > + cat .github/workflows/auto-jdk-matrix.yml - - name: Cache local Maven repository - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: build-${{ runner.os }}-maven- + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: build-${{ runner.os }}-maven- - - name: Install Matrix JDK - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.jdk }} - distribution: 'temurin' - java-package: jdk - architecture: x64 + - name: Install Matrix JDK + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.jdk }} + distribution: 'temurin' + java-package: jdk + architecture: x64 - - name: Echo Java Version - run: > - java -version + - name: Echo Java Version + run: > + java -version - - name: Test - run: > - mvn clean test -B - -Dmaven.javadoc.skip=true - -Dgpg.skip=true + - name: Test + run: > + mvn clean test -B + -Dmaven.javadoc.skip=true + -Dgpg.skip=true - - name: Install - run: > - mvn clean install -B - -DskipTests=true - -Dgpg.skip=true + - name: Install + run: > + mvn clean install -B + -DskipTests=true + -Dgpg.skip=true # Architecture options: x86, x64, armv7, aarch64, ppc64le # setup-java@v4 has a "with cache" option From 1fd781f5eb7500e5db5465e15282016da9eddb15 Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 16:38:42 -0800 Subject: [PATCH 05/11] fix indents again --- .github/workflows/auto-jdk-matrix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-jdk-matrix.yml b/.github/workflows/auto-jdk-matrix.yml index 5adbbbe08..49c7cf1dc 100644 --- a/.github/workflows/auto-jdk-matrix.yml +++ b/.github/workflows/auto-jdk-matrix.yml @@ -23,8 +23,8 @@ jobs: matrix: jdk: [ 17 ] - env: - JDK_VERSION: ${{ matrix.jdk }} + env: + JDK_VERSION: ${{ matrix.jdk }} steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" From 35526df5935776f14b4a2fd18019f8e42e4d6683 Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 16:52:43 -0800 Subject: [PATCH 06/11] adjust indents & titles --- .github/workflows/auto-jdk-matrix.yml | 4 +- .github/workflows/auto-os-matrix.yml | 64 +++++++++++++-------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/auto-jdk-matrix.yml b/.github/workflows/auto-jdk-matrix.yml index 49c7cf1dc..9043932ce 100644 --- a/.github/workflows/auto-jdk-matrix.yml +++ b/.github/workflows/auto-jdk-matrix.yml @@ -1,4 +1,4 @@ -name: DataSketches-Java Auto JDK Matrix Test & Install +name: Auto JDK Matrix Test & Install on: push: @@ -24,7 +24,7 @@ jobs: jdk: [ 17 ] env: - JDK_VERSION: ${{ matrix.jdk }} + addJDK_VERSION: ${{ matrix.jdk }} steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" diff --git a/.github/workflows/auto-os-matrix.yml b/.github/workflows/auto-os-matrix.yml index 9fb6f2812..b56e5aa22 100644 --- a/.github/workflows/auto-os-matrix.yml +++ b/.github/workflows/auto-os-matrix.yml @@ -1,4 +1,4 @@ -name: DataSketches-Java Auto OS Matrix Test & Install +name: Auto OS Matrix Test & Install on: push: @@ -40,42 +40,42 @@ jobs: JDK_VERSION: ${{ matrix.jdk }} steps: - - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 - with: - persist-credentials: false + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@v4 + with: + persist-credentials: false - - name: Cache local Maven repository - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: build-${{ runner.os }}-maven- + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: build-${{ runner.os }}-maven- - - name: Install Matrix JDK - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.jdk }} - distribution: 'temurin' - java-package: jdk - architecture: x64 + - name: Install Matrix JDK + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.jdk }} + distribution: 'temurin' + java-package: jdk + architecture: x64 - - name: Echo Java Version - run: > - java -version + - name: Echo Java Version + run: > + java -version - - name: Test - run: > - mvn clean test - ${{matrix.os.skip_javadoc}} - ${{matrix.os.skip_gpg}} + - name: Test + run: > + mvn clean test + ${{matrix.os.skip_javadoc}} + ${{matrix.os.skip_gpg}} - - name: Install - run: > - mvn clean install -B - ${{matrix.os.skip_javadoc}} - -D skipTests=true - ${{matrix.os.skip_gpg}} + - name: Install + run: > + mvn clean install -B + ${{matrix.os.skip_javadoc}} + -D skipTests=true + ${{matrix.os.skip_gpg}} # Architecture options: x86, x64, armv7, aarch64, ppc64le # setup-java@v4 has a "with cache" option From e412cfd5e67414d905e246f8b2cd83d72994f47b Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 17:04:04 -0800 Subject: [PATCH 07/11] correct indents --- .github/workflows/check_cpp_files.yml | 2 +- .github/workflows/codeql-analysis.yml | 60 +++++++++++++-------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/check_cpp_files.yml b/.github/workflows/check_cpp_files.yml index 4ca9e0aa4..00a9e5255 100644 --- a/.github/workflows/check_cpp_files.yml +++ b/.github/workflows/check_cpp_files.yml @@ -1,4 +1,4 @@ -name: Serialization Compatibility Test +name: CPP SerDe Compatibility Test on: push: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index e6589b243..28c17a1f6 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -27,45 +27,45 @@ jobs: # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support steps: - - name: Checkout repository - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - - name: Setup Java - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - cache: 'maven' - java-version: '17' + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + cache: 'maven' + java-version: '17' - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - queries: +security-and-quality + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality # If you wish to specify custom queries, you can do so here or in a config file. # By default, queries listed here will override any specified in a config file. # Prefix the list here with "+" to use these queries and those in the config file. # Details on CodeQL's query packs refer to link below. - - name: Custom building using maven - run: > - mvn clean package -f "pom.xml" -B -V -e - -Dfindbugs.skip=true - -Dcheckstyle.skip=true - -Dpmd.skip=true - -Denforcer.skip - -Dmaven.javadoc.skip - -DskipTests=true - -Dmaven.test.skip.exec - -Dlicense.skip=true - -Dweb.console.skip=true - -Dgpg.skip=true + - name: Custom building using maven + run: > + mvn clean package -f "pom.xml" -B -V -e + -Dfindbugs.skip=true + -Dcheckstyle.skip=true + -Dpmd.skip=true + -Denforcer.skip + -Dmaven.javadoc.skip + -DskipTests=true + -Dmaven.test.skip.exec + -Dlicense.skip=true + -Dweb.console.skip=true + -Dgpg.skip=true - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" # CodeQL's Query Packs: From 62939a21b8d085a6fa9beff5eaa9f8080aac8e4d Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 17:24:35 -0800 Subject: [PATCH 08/11] fix cat of workflow --- .github/workflows/javadoc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/javadoc.yml b/.github/workflows/javadoc.yml index 5f6ac6aec..fc1507a2c 100644 --- a/.github/workflows/javadoc.yml +++ b/.github/workflows/javadoc.yml @@ -22,7 +22,7 @@ jobs: - name: Print Current workflow run: > - cat .github/workflows/manual-javadoc.yml + cat .github/workflows/javadoc.yml - name: Generate JavaDoc run: mvn javadoc:javadoc From fd0ede4f063358ed573f24155ce15adf6e7f6847 Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 17:30:42 -0800 Subject: [PATCH 09/11] fix target directory path --- .github/workflows/javadoc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/javadoc.yml b/.github/workflows/javadoc.yml index fc1507a2c..0381f43b8 100644 --- a/.github/workflows/javadoc.yml +++ b/.github/workflows/javadoc.yml @@ -31,6 +31,6 @@ jobs: uses: JamesIves/github-pages-deploy-action@v4.6.8 with: token: ${{ secrets.GITHUB_TOKEN }} - folder: target/site/apidocs + folder: target/reports/apidocs target-folder: docs/${{ github.ref_name }} branch: gh-pages From b5d2d04fd36ab7c71fc45e532a2ddc4b29dbe72d Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 2 Jan 2025 18:05:44 -0800 Subject: [PATCH 10/11] fix typo --- .github/workflows/auto-jdk-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-jdk-matrix.yml b/.github/workflows/auto-jdk-matrix.yml index 9043932ce..7e1d26c70 100644 --- a/.github/workflows/auto-jdk-matrix.yml +++ b/.github/workflows/auto-jdk-matrix.yml @@ -24,7 +24,7 @@ jobs: jdk: [ 17 ] env: - addJDK_VERSION: ${{ matrix.jdk }} + JDK_VERSION: ${{ matrix.jdk }} steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" From 855716358f385e1c2a52773725bf643ac9eabd9b Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Fri, 3 Jan 2025 10:08:36 -0800 Subject: [PATCH 11/11] push changes into 7.0.X --- .github/workflows/auto-check_cpp_files.yml | 45 ---------------------- .github/workflows/manual-javadoc.yml | 39 ------------------- pom.xml | 2 +- 3 files changed, 1 insertion(+), 85 deletions(-) delete mode 100644 .github/workflows/auto-check_cpp_files.yml delete mode 100644 .github/workflows/manual-javadoc.yml diff --git a/.github/workflows/auto-check_cpp_files.yml b/.github/workflows/auto-check_cpp_files.yml deleted file mode 100644 index f80403e53..000000000 --- a/.github/workflows/auto-check_cpp_files.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Auto C++ Serialization Compatibility Test - -on: - pull_request: - push: - branches: [ 7.0.X ] - workflow_dispatch: - -jobs: - build: - name: SerDe Test - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Checkout C++ - uses: actions/checkout@v4 - with: - repository: apache/datasketches-cpp - path: cpp - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'temurin' - - - name: Configure C++ build - run: cd cpp/build && cmake .. -DGENERATE=true - - - name: Build C++ unit tests - run: cd cpp && cmake --build build --config Release - - - name: Run C++ tests - run: cd cpp && cmake --build build --config Release --target test - - - name: Make dir - run: mkdir -p serialization_test_data/cpp_generated_files - - - name: Copy files - run: cp cpp/build/*/test/*_cpp.sk serialization_test_data/cpp_generated_files - - - name: Run Java tests - run: mvn test -P check-cpp-files diff --git a/.github/workflows/manual-javadoc.yml b/.github/workflows/manual-javadoc.yml deleted file mode 100644 index f1cd56e75..000000000 --- a/.github/workflows/manual-javadoc.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Publish JavaDoc - -on: - pull_request: - push: - branches: [ 7.0.X ] - workflow_dispatch: - -jobs: - javadoc: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'temurin' - - - name: Echo Java Version - run: java -version - - - name: Print Current workflow - run: > - cat .github/workflows/manual-javadoc.yml - - - name: Generate JavaDoc - run: mvn clean javadoc:javadoc - - - name: Deploy JavaDoc - uses: JamesIves/github-pages-deploy-action@v4.6.8 - with: - token: ${{ secrets.GITHUB_TOKEN }} - folder: target/reports/apidocs - target-folder: docs/${{ github.ref_name }} - branch: gh-pages diff --git a/pom.xml b/pom.xml index c72af4f39..35022e3b1 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ under the License. org.apache.datasketches datasketches-java - 7.1.0-SNAPSHOT + 7.0.0 jar ${project.artifactId}