diff --git a/.ci/build-coveralls.sh b/.ci/build-coveralls.sh deleted file mode 100755 index 43031a03ec..0000000000 --- a/.ci/build-coveralls.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash - -source $(dirname $0)/inc/logger.inc -source $(dirname $0)/inc/setup-secrets.inc -source $(dirname $0)/inc/install-openjdk.inc - -set -e - -log_group_start "Setup private env and OpenJDK" - pmd_ci_setup_private_env - install_openjdk_setdefault 11 - export CI_NAME="github actions" - export CI_BUILD_URL="${PMD_CI_JOB_URL}" - export CI_BRANCH="${PMD_CI_GIT_REF##refs/heads/}" -log_group_end - -log_group_start "Executing build with coveralls" - ./mvnw \ - -Dmaven.javadoc.skip=true \ - -Dmaven.source.skip \ - -Dcheckstyle.skip \ - -DrepoToken=${COVERALLS_REPO_TOKEN} \ - -B -V -e \ - clean package jacoco:report \ - coveralls:report -Pcoveralls - - if [ $? -ne 0 ]; then - log_error "Error creating coveralls report" - else - log_success "New coveralls result: https://coveralls.io/github/pmd/pmd" - fi -log_group_end diff --git a/.ci/build-pr-win-macos.sh b/.ci/build-pr-win-macos.sh deleted file mode 100755 index e88508510a..0000000000 --- a/.ci/build-pr-win-macos.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -source $(dirname $0)/inc/logger.inc -source $(dirname $0)/inc/install-openjdk.inc -source $(dirname $0)/inc/regression-tester.inc - -set -e - -log_group_start "Installing Java" - log_info "Install openjdk11 as default" - install_openjdk_setdefault 11 - - PMD_EXTRA_OPT="" - if [[ "$(uname)" == Linux* ]]; then - log_info "Install oracle7 for integration tests" - install_oraclejdk7 - PMD_EXTRA_OPT="-Djava7.home=${HOME}/oraclejdk7" - fi -log_group_end - -log_group_start "Building with maven" - ./mvnw -e -V -B clean verify ${PMD_EXTRA_OPT} -log_group_end - - -# Danger is executed only on the linux runner -case "$(uname)" in - Linux*) - log_group_start "Executing danger" - regression_tester_setup_ci - regression_tester_executeDanger - log_group_end - ;; -esac diff --git a/.ci/build-sonar.sh b/.ci/build-sonar.sh deleted file mode 100755 index 24b5b895da..0000000000 --- a/.ci/build-sonar.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash - -source $(dirname $0)/inc/logger.inc -source $(dirname $0)/inc/setup-secrets.inc -source $(dirname $0)/inc/install-openjdk.inc - -set -e - -log_group_start "Setup private env and OpenJDK" - pmd_ci_setup_private_env - install_openjdk_setdefault 11 -log_group_end - -log_group_start "Executing build with sonar" - ./mvnw \ - -Dmaven.javadoc.skip=true \ - -Dmaven.source.skip \ - -Dcheckstyle.skip \ - -B -V -e \ - clean package \ - sonar:sonar -Dsonar.login=${SONAR_TOKEN} -Psonar - - if [ $? -ne 0 ]; then - log_error "Error updating sonar..." - else - log_success "New sonar results: https://sonarcloud.io/dashboard?id=net.sourceforge.pmd%3Apmd" - fi -log_group_end diff --git a/.ci/build.sh b/.ci/build.sh index fd073f04c3..043b7ab6c8 100755 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -80,6 +80,37 @@ function build() { regression_tester_setup_ci regression_tester_uploadBaseline pmd_ci_log_group_end + + if pmd_ci_maven_isSnapshotBuild; then + pmd_ci_log_group_start "Executing build with sonar" + # Note: Sonar also needs GITHUB_TOKEN (!) + ./mvnw \ + -Dmaven.javadoc.skip=true \ + -Dmaven.source.skip \ + -Dcheckstyle.skip \ + -Dpmd.skip \ + --show-version --errors --batch-mode --no-transfer-progress \ + clean package \ + sonar:sonar -Dsonar.login=${SONAR_TOKEN} -Psonar + pmd_ci_log_success "New sonar results: https://sonarcloud.io/dashboard?id=net.sourceforge.pmd%3Apmd" + pmd_ci_log_group_end + + pmd_ci_log_group_start "Executing build with coveralls" + export CI_NAME="github actions" + export CI_BUILD_URL="${PMD_CI_JOB_URL}" + export CI_BRANCH="${PMD_CI_BRANCH}" + ./mvnw \ + -Dmaven.javadoc.skip=true \ + -Dmaven.source.skip \ + -Dcheckstyle.skip \ + -Dpmd.skip \ + -DrepoToken=${COVERALLS_REPO_TOKEN} \ + --show-version --errors --batch-mode --no-transfer-progress \ + clean package jacoco:report \ + coveralls:report -Pcoveralls + pmd_ci_log_success "New coveralls result: https://coveralls.io/github/pmd/pmd" + pmd_ci_log_group_end + fi } diff --git a/.ci/travis_wait b/.ci/travis_wait deleted file mode 100755 index d81dd41089..0000000000 --- a/.ci/travis_wait +++ /dev/null @@ -1,324 +0,0 @@ -#!/usr/bin/env bash - -# The MIT License (MIT) - -# Copyright (c) 2015 -# m3t (96bd6c8bb869fe632b3650fb7156c797ef8c2a055d31dde634565f3edda485b) - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Available from https://github.com/m3t/travis_wait -# Please report bugs at https://github.com/m3t/travis_wait/issues - -# Coding (Style) Guidelines: -# https://www.chromium.org/chromium-os/shell-style-guidelines -# http://mywiki.wooledge.org/BashGuide/Practices -# http://wiki.bash-hackers.org/scripting/style - - -# bash available? -if [ -z "$BASH_VERSINFO" ]; then - echo "Please make sure you're using bash!" - exit 1 -fi - - -# INITIALIZE CONSTANTS AND GLOBALS -# Only lower case, esp. for export! -# That ensures that system vars stay untouched in any case -readonly prog_name=$(basename "$0") - - -is_writeable() { - local var="$1" - - is_writeable_empty "${var}" 0 -} - -is_writeable_empty() { - local var="$1" - local empty="$2" - [[ -z "${empty}" ]] && empty=1 - - # http://mywiki.wooledge.org/BashGuide/TestsAndConditionals - # "touch" creates file, if it doesn't exist, - # so further tests won't fail at the beginning - if { touch -a "${var}" >/dev/null 2>&1; }; then - if [[ ! -s "${var}" ]]; then - if [[ ! -w "${var}" ]]; then - #show_warning "${var} is not writeable" - return 1 - fi - else - #show_warning "${var} is not empty" - [[ "${empty}" -eq 1 ]] && return 1 - fi - else - #show_warning "Destination for ${var} is not accessible at all" - return 1 - fi - - return 0 -} - -is_number() { - local int="$1" - # http://mywiki.wooledge.org/BashFAQ/054 - [[ "$int" != *[!0-9]* ]] -} - -is_empty() { - local var="$1" - - [[ -z "$var" ]] -} - -show_error() { - printf "\n%s\n" "${prog_name}: error: $*" >&2 - exit 1 -} - -show_warning() { - printf "\n%s\n" "${prog_name}: $*" >&2 -} - -show_help() { - # http://wiki.bash-hackers.org/syntax/redirection#here_documents - cat <<- EOF - - Usage: ${prog_name} [options] [] - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor - incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat - non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - - Arguments: - Slowpoke command - Where 's output will be saved - Default: \$RANDOM-output.log - - Options: - -i, --interval Refresh interval in sec. - Default: 30 - - -l, --limit Limit execution time in sec. - Default: 0 (Off) - - -x, --exit-code Force the exit code - Default: -1 (Off) - - -a, --append PRN append output to existing logfile - Off: 0 (Default) - On: 1 - - -h This help screen - - - Copyright (C) 2015 m3t - The MIT License (MIT) - -EOF - - exit 0 -} - -cleanup() { - kill -0 ${pid_slowpoke} >/dev/null 2>&1 && kill ${pid_slowpoke} >/dev/null 2>&1 -} - -main() { - - # INITIALIZE LOCAL VARIABLES - # Variables to be evaluated as shell arithmetic should be initialized - # to a default or validated beforehand. - # CAUTION: Arguments' (not options) default values will be overwritten here anyway - # So they are set in VALIDATE INPUT - local i=0 - local msg="" - local time_passed=0 - local pid_slowpoke=0 - local exit_slowpoke=0 - # Options: - local interval=30 - local time_limit=0 - local exit_force=-1 - local append=0 - # Arguments: - local cmd_slowpoke="" - local file_log="" - - - # SIGNAL HANDLING - # http://mywiki.wooledge.org/SignalTrap - # http://mywiki.wooledge.org/SignalTrap#Special_Note_On_SIGINT - trap 'cleanup; trap - INT; kill -INT $$' INT QUIT # CTRL+C OR CTRL+\ - trap 'cleanup; exit 1' TERM # kill's default signal - - - # COMMAND-LINE ARGUMENTS AND OPTIONS - # http://mywiki.wooledge.org/BashFAQ/035 - msg="requires a non-empty option argument." - while :; do - case "$1" in - -h|-\?|--help) - show_help - exit - ;; - -l|--limit) - if [ -n "$2" ]; then - time_limit="$2" - shift 2 - continue - else - show_error "--limit ${msg}" - fi - ;; - --limit=?*) - time_limit="${1#*=}" - ;; - --limit=) - show_error "--limit ${msg}" - ;; - -i|--interval) - if [ -n "$2" ]; then - interval="$2" - shift 2 - continue - else - show_error "--interval ${msg}" - fi - ;; - --interval=?*) - interval="${1#*=}" - ;; - --interval=) - show_error "--interval ${msg}" - ;; - -x|--exit-code) - if [ -n "$2" ]; then - exit_force="$2" - shift 2 - continue - else - show_error "--exit-code ${msg}" - fi - ;; - --exit-code=?*) - exit_force="${1#*=}" - ;; - --exit-code=) - show_error "--exit-code ${msg}" - ;; - -a|--append) - if [ -n "$2" ]; then - append="$2" - shift 2 - continue - else - show_error "--append ${msg}" - fi - ;; - --append=?*) - append="${1#*=}" - ;; - --append=) - show_error "--append ${msg}" - ;; - --) # End of all options. - shift - break - ;; - -?*) - show_warning "Unknown option (ignored): $1" - ;; - *) # Default case: If no more options then break out of the loop. - break - esac - - shift - done - # Arguments following the options - # will remain in the "$@" positional parameters. - cmd_slowpoke="$1" - file_log="$2" - - - # VALIDATE INPUT - is_number "${interval}" || show_error "Interval is not a valid number" - is_number "${time_limit}" || show_error "Limit is not a valid number" - is_empty "${cmd_slowpoke}" && show_error "Command to execute is not given. See --help." - is_empty "${file_log}" && file_log="$RANDOM-output.log" # http://mywiki.wooledge.org/BashFAQ/062 - - # START CMD - # http://mywiki.wooledge.org/ProcessManagement - if [[ "${append}" -ne 1 ]]; then - is_writeable_empty "${file_log}" || show_error "${file_log} is not writeable or not empty." - ${cmd_slowpoke} > "${file_log}" & pid_slowpoke=$! - else - is_writeable "${file_log}" || show_error "${file_log} is not writeable." - ${cmd_slowpoke} >> "${file_log}" & pid_slowpoke=$! - fi - - - # WAIT - # Terminates when $cmd_slowpoke is finished - # OR - # $time_limit has reached - i=0 - while kill -0 ${pid_slowpoke} >/dev/null 2>&1; do - : $(( time_passed = i * interval )) - - printf "%s\n" \ - "Still waiting for about ${time_passed} seconds" \ - "Used disk space: $(du -sh .)" - - # Output last line from $file_log - tail -1 "${file_log}" - - # $time_limit - if [[ "${time_limit}" -ne 0 ]] && [[ "${time_passed}" -ge "${time_limit}" ]]; then - cleanup - break - fi - - sleep ${interval} - - : $(( i += 1 )) - done - - - # FINISHED - # Shall I fake the exit code? - if ! is_number "${exit_force}"; then - # Get exit code from child process that is terminated already, see above - wait ${pid_slowpoke}; exit_slowpoke=$? - else - exit_slowpoke=${exit_force} - fi - # Output last couple of lines from $file_log - tail -5 "${file_log}" - show_warning "Your given command has terminated with exit code $exit_slowpoke. So do I." - exit ${exit_slowpoke} - -} - -main "$@" diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a1c9a7bd37..41efb1e92c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,6 +14,6 @@ - [ ] Added unit tests for fixed bug/feature - [ ] Passing all unit tests -- [ ] Complete build `./mvnw clean verify` passes (checked automatically by travis) +- [ ] Complete build `./mvnw clean verify` passes (checked automatically by github actions) - [ ] Added (in-code) documentation (if needed) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 33a35ec101..dc43e3bf58 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,6 +27,7 @@ jobs: path: | ~/.m2/repository ~/.cache + vendor/bundle key: ${{ runner.os }}-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}- @@ -38,7 +39,7 @@ jobs: shell: bash run: | echo "LANG=en_US.UTF-8" >> $GITHUB_ENV - echo "MAVEN_OPTS=-Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3" >> $GITHUB_ENV + echo "MAVEN_OPTS=-Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 -DstagingProgressTimeoutMinutes=30" >> $GITHUB_ENV echo "PMD_CI_SCRIPTS_URL=https://raw.githubusercontent.com/pmd/build-tools/master/scripts" >> $GITHUB_ENV - name: Check Environment shell: bash @@ -53,3 +54,4 @@ jobs: shell: bash env: PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml deleted file mode 100644 index 9fd0c2fcbe..0000000000 --- a/.github/workflows/pull-requests.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Pull Requests - -on: pull_request - -jobs: - build: - runs-on: ${{ matrix.os }} - continue-on-error: false - timeout-minutes: 60 - strategy: - matrix: - os: [ ubuntu-latest, windows-latest, macos-latest ] - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - uses: actions/cache@v2 - with: - path: | - ~/.m2/repository - ~/.cache - vendor/bundle - key: pr-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - pr-${{ runner.os }}- - - name: Set up Ruby 2.7 - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.7 - - name: Check Environment - run: .ci/check-environment.sh - shell: bash - - name: Build - run: .ci/build-pr-win-macos.sh - shell: bash - env: - MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 - PMD_CI_BRANCH: ${{ github.event.pull_request.base.ref }} - PMD_CI_PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }} diff --git a/.github/workflows/pushes.yml b/.github/workflows/pushes.yml deleted file mode 100644 index 6f8956bf5f..0000000000 --- a/.github/workflows/pushes.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: Pushes -on: - push: - branches: - - main - - master - schedule: - # build it monthly: At 04:00 on day-of-month 1. - - cron: '0 4 1 * *' - -jobs: - linux: - runs-on: ubuntu-latest - continue-on-error: false - if: "!contains(github.event.head_commit.message, '[skip ci]')" - steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 - with: - path: | - ~/.m2/repository - ~/.cache - vendor/bundle - key: push-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - push-${{ runner.os }}- - - name: Set up Ruby 2.7 - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.7 - - name: Check Environment - run: .ci/check-environment.sh - shell: bash - - name: Build - run: .ci/build.sh - shell: bash - env: - MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 -DstagingProgressTimeoutMinutes=30 - PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }} - PMD_CI_JOB_URL: "https://github.com/pmd/pmd/runs/${{ github.run_id }}" - PMD_CI_PUSH_COMMIT_COMPARE: ${{ github.event.compare }} - PMD_CI_GIT_REF: ${{ github.ref }} - - windows-macos: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ windows-latest, macos-latest ] - needs: linux - steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 - with: - path: | - ~/.m2/repository - ~/.cache - vendor/bundle - key: ${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}- - - name: Check Environment - run: .ci/check-environment.sh - shell: bash - - name: Build - run: .ci/build-pr-win-macos.sh - shell: bash - env: - MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 - - coveralls: - runs-on: ubuntu-latest - needs: [linux] - steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 - with: - path: | - ~/.m2/repository - ~/.cache - vendor/bundle - key: coveralls-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - coveralls-${{ runner.os }}- - - name: Check Environment - run: .ci/check-environment.sh - shell: bash - - name: Build - run: .ci/build-coveralls.sh - shell: bash - env: - MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 - PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }} - PMD_CI_JOB_URL: "https://github.com/pmd/pmd/runs/${{ github.run_id }}" - - sonar: - runs-on: ubuntu-latest - needs: [linux] - steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 - with: - path: | - ~/.m2/repository - ~/.cache - vendor/bundle - key: sonar-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - sonar-${{ runner.os }}- - - name: Check Environment - run: .ci/check-environment.sh - shell: bash - - name: Build - run: .ci/build-sonar.sh - shell: bash - env: - MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 - PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml deleted file mode 100644 index 9e96a7f1ac..0000000000 --- a/.github/workflows/releases.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Release Builds -on: - push: - tags: - - 'pmd_releases/*' - -jobs: - release: - runs-on: ubuntu-latest - continue-on-error: false - steps: - - uses: actions/checkout@v2 - - name: Set up Ruby 2.7 - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.7 - - name: Check Environment - run: .ci/check-environment.sh - shell: bash - - name: Build - run: .ci/build.sh - shell: bash - env: - MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 - PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }} - PMD_CI_JOB_URL: "https://github.com/pmd/pmd/runs/${{ github.run_id }}" - PMD_CI_PUSH_COMMIT_COMPARE: ${{ github.event.compare }} - PMD_CI_GIT_REF: ${{ github.ref }} diff --git a/.github/workflows/troubleshooting.yml b/.github/workflows/troubleshooting.yml index dd79aa8c3e..d895a6cf2f 100644 --- a/.github/workflows/troubleshooting.yml +++ b/.github/workflows/troubleshooting.yml @@ -26,11 +26,28 @@ jobs: uses: actions/setup-ruby@v1 with: ruby-version: 2.7 - - name: Install OpenJDK 11 + - name: Setup Environment + shell: bash run: | - source .ci/inc/logger.inc - source .ci/inc/install-openjdk.inc - install_openjdk 11 + echo "LANG=en_US.UTF-8" >> $GITHUB_ENV + echo "MAVEN_OPTS=-Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3 -DstagingProgressTimeoutMinutes=30" >> $GITHUB_ENV + echo "PMD_CI_SCRIPTS_URL=https://raw.githubusercontent.com/pmd/build-tools/master/scripts" >> $GITHUB_ENV + - name: Check Environment + shell: bash + run: | + f=check-environment.sh; \ + mkdir -p .ci && \ + ( [ -e .ci/$f ] || curl -sSL "${PMD_CI_SCRIPTS_URL}/$f" > ".ci/$f" ) && \ + chmod 755 .ci/$f && \ + .ci/$f + - name: Build + run: | + f=openjdk.bash; \ + mkdir -p .ci/inc && \ + ( [ -e .ci/inc/$f ] || curl -sSL "${PMD_CI_SCRIPTS_URL}/inc/$f" > ".ci/inc/$f" ) && \ + source .ci/inc/$f ; \ + pmd_ci_openjdk_install_adoptopenjdk 11 ; \ + pmd_ci_openjdk_setdefault 11 shell: bash - name: Setup tmate session uses: mxschmitt/action-tmate@v3 diff --git a/BUILDING.md b/BUILDING.md index bfa7c16245..8654ec8953 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -25,12 +25,12 @@ limitations apply: * Generally give **different results on Windows and Unix** because of different newlines. (carriage return linefeed on Windows, linefeed on Unixes). - We build our releases under **Linux** on [Travis CI](https://travis-ci.com/pmd/pmd). + We build our releases under **Linux** on [Github Actions](https://github.com/pmd/pmd/actions). * Generally depend on the **major version of the JDK** used to compile. (Even with source/target defined, each major JDK version changes the generated bytecode.). - We build our releases using OpenJDK 11 (see "before_install" step in `.travis.yml`). + We build our releases using OpenJDK 11. ## How to build the documentation? diff --git a/Gemfile b/Gemfile index 67b22b628d..6d66b0fb74 100644 --- a/Gemfile +++ b/Gemfile @@ -7,8 +7,8 @@ gem 'pmdtester', '~> 1' gem 'danger', '~> 5.6', '>= 5.6' # This group is only needed for rendering release notes -# this happens during release (.travis/release.sh and do-release.sh) -# but also during regular builds (.travis/build-deploy.sh) +# this happens during release (.ci/build.sh and do-release.sh) +# but also during regular builds (.ci/build.sh) group :release_notes_preprocessing do gem 'liquid', '>=4.0.0' gem 'safe_yaml', '>=1.0' diff --git a/README.md b/README.md index f639615e8a..0ee521b467 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # PMD [![Join the chat at https://gitter.im/pmd/pmd](https://badges.gitter.im/pmd/pmd.svg)](https://gitter.im/pmd/pmd?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![Build Status](https://github.com/pmd/pmd/workflows/Pushes/badge.svg?branch=master)](https://github.com/pmd/pmd/actions) +[![Build Status](https://github.com/pmd/pmd/workflows/build/badge.svg?branch=master)](https://github.com/pmd/pmd/actions) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.pmd/pmd/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.pmd/pmd) [![Reproducible Builds](https://img.shields.io/badge/Reproducible_Builds-ok-green?labelColor=blue)](https://github.com/jvm-repo-rebuild/reproducible-central#net.sourceforge.pmd:pmd) [![Coverage Status](https://coveralls.io/repos/github/pmd/pmd/badge.svg)](https://coveralls.io/github/pmd/pmd)