This is an automated email from the ASF dual-hosted git repository. twolf pushed a commit to branch dev_3.0 in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
commit cff988b7c1b7c4f1aead2940889abe082dac5636 Merge: f09406ea7 a05d99d91 Author: Thomas Wolf <[email protected]> AuthorDate: Wed Sep 17 18:45:02 2025 +0200 Merge branch 'master' into 3.0.0 .github/workflows/build.yml | 5 +++++ .github/workflows/master-build.yml | 5 +++++ .github/workflows/next-build.yml | 5 +++++ pom.xml | 12 ++++++------ sshd-contrib/pom.xml | 2 +- sshd-pmd-ruleset.xml | 6 +++++- 6 files changed, 27 insertions(+), 8 deletions(-) diff --cc .github/workflows/build.yml index 284ccf188,8e9582e96..76a938e09 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@@ -21,7 -21,11 +21,12 @@@ on pull_request: branches: - master + - dev_3.0 + paths-ignore: + - 'docs/**' + - '*.md' + - '.github/ISSUE_TEMPLATE/**' + - '*.txt' workflow_call: jobs: diff --cc .github/workflows/next-build.yml index 6339ba379,000000000..12d2d94e0 mode 100644,000000..100644 --- a/.github/workflows/next-build.yml +++ b/.github/workflows/next-build.yml @@@ -1,115 -1,0 +1,120 @@@ +# +# 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: next-build + +on: + push: + branches: + - 'dev_3.0' ++ paths-ignore: ++ - 'docs/**' ++ - '*.md' ++ - '.github/ISSUE_TEMPLATE/**' ++ - '*.txt' + +jobs: + build: + uses: ./.github/workflows/build.yml + + deploy-snapshot: + # Skip any commit from creating releases. The first snapshot after a new release + # will thus be published on the first real change on the new snapshot version, but + # there will be no snapshot release for just bumping the version. + if: "!startsWith(github.event.head_commit.message ,'[maven-release-plugin]')" + needs: build + # Serialize these jobs from different workflow runs. We do not want concurrent + # deployments. We don't cancel already running jobs because we do not want their + # workflows to report a failure. Github does not guarantee order between jobs + # that queue within 5 minutes, see https://docs.github.com/en/actions/using-jobs/using-concurrency . + # We do check below that the job is operating on the latest origin/master, and + # we skip deployment if not. + concurrency: mina-sshd-next-snapshot-deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '17' + # Create a ~/.m2/settings.xml referencing these environment variable names + server-id: 'apache.snapshots.https' + server-username: NEXUS_USERNAME + server-password: NEXUS_PASSWORD + + - uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ubuntu-latest-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ubuntu-latest-maven- + + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: '3.9.8' + + - name: Check version (SNAPSHOT) + # Only deploy SNAPSHOT versions. We do not use "exit 1" because we still want the workflow + # to report success, we just want this job to do nothing. + # + # All subsequent steps are conditional. + run: | + export PROJECT_VERSION=$(mvn -B -q -DforceStdout -Dexpression=project.version help:evaluate) + echo "Project version: $PROJECT_VERSION" + [[ "$PROJECT_VERSION" =~ ^3\.[0-9]+\.[0-9]+-SNAPSHOT$ ]] || { + echo "**** Skipping deployment because not a snapshot version: $PROJECT_VERSION" 1>&2 + echo "SKIP_DEPLOYMENT=true" >> "$GITHUB_ENV" + } + + - name: Check HEAD is current + # Must be quoted, ! is special in yaml + if: "! env.SKIP_DEPLOYMENT" + # Do not deploy if refs/heads/dev_3.0 has advanced in the meantime + run : | + export CURR_HEAD=$(git rev-parse -q origin/dev_3.0) + echo "Local: github.sha=${{ github.sha }} refs/heads/dev_3.0=$(git rev-parse -q refs/heads/dev_3.0)" + echo "Origin: origin/dev_3.0=$CURR_HEAD" + [[ "${{ github.sha }}" == "$CURR_HEAD" ]] || { + echo "**** Skipping deployment because dev_3.0 branch advanced: ${{ github.sha }} != origin/dev_3.0 $CURR_HEAD" 1>&2 + echo "SKIP_DEPLOYMENT=true" >> "$GITHUB_ENV" + } + + - name: Build and deploy with maven + # Must be quoted, ! is special in yaml + if: "! env.SKIP_DEPLOYMENT" + # NEXUS_USERNAME and NEXUS_PASSWORD are used in ~/.m2/settings.xml created by + # the setup-java action. The two secrets are organization-wide secrets that + # were enabled by Apache Infra for our repository. + env: + NEXUS_USERNAME: ${{ secrets.NEXUS_USER }} + NEXUS_PASSWORD: ${{ secrets.NEXUS_PW }} + # Our root POM overwrites the release repository with an invalid value to prevent + # accidental release deployments as an additional safety measure. The snapshot + # repo from the Apache parent POM is not overridden. + run: mvn -B --errors --activate-profiles ci --no-transfer-progress deploy -DskipTests -DdeployAtEnd + + - name: Build and deploy web site + if: "! env.SKIP_DEPLOYMENT" + # git config needs to be --global because scm-publish will clone the repo again. + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + mvn -B --no-transfer-progress -DskipTests -Pjapicmp clean install + mvn -B --no-transfer-progress scm-publish:publish-scm -Dgithub.actor=${{ github.actor }} -Dgithub.token=${{ secrets.GITHUB_TOKEN }} diff --cc pom.xml index 894851ca6,b745927ec..64cf9700c --- a/pom.xml +++ b/pom.xml @@@ -107,13 -112,13 +107,13 @@@ <!-- mockito 5.0 requires Java 11. --> <mockito.version>4.11.0</mockito.version> <testcontainers.version>1.21.3</testcontainers.version> - <grpc.version>1.74.0</grpc.version> <!-- Used only in tests --> + <grpc.version>1.75.0</grpc.version> <!-- Used only in tests --> - <maven.archiver.version>3.6.3</maven.archiver.version> - <plexus.archiver.version>4.10.0</plexus.archiver.version> + <maven.archiver.version>3.6.4</maven.archiver.version> + <plexus.archiver.version>4.10.1</plexus.archiver.version> <!-- See https://pmd.github.io/ for available latest version --> - <pmd.version>7.16.0</pmd.version> + <pmd.version>7.17.0</pmd.version> - + <japicmp.version>0.23.1</japicmp.version> <sshd.tests.timeout.factor>1.0</sshd.tests.timeout.factor> <sshd.tests.rerun.count>2</sshd.tests.rerun.count>
