Skip to content

Use JDK 17 to deploy (#1039) #903

Use JDK 17 to deploy (#1039)

Use JDK 17 to deploy (#1039) #903

Workflow file for this run

on:
push:
branches:
- master
- sq-10
paths-ignore:
- '.github/actions/**'
pull_request:
branches:
- master
paths-ignore:
- '.github/actions/**'
release:
types:
- published
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# 9.9 LTS
- SONAR_SERVER_VERSION: 9.9.0.65466
SONAR_PLUGIN_API_VERSION: 9.14.0.375
SONAR_SERVER_JAVA_VERSION: 17
# 10.x
- SONAR_SERVER_VERSION: 10.4.0.87286
SONAR_PLUGIN_API_VERSION: 10.6.0.2114
SONAR_SERVER_JAVA_VERSION: 17
- SONAR_SERVER_VERSION: 10.6.0.92116
SONAR_PLUGIN_API_VERSION: 10.7.0.2191
SONAR_SERVER_JAVA_VERSION: 17
# https://mvnrepository.com/artifact/org.sonarsource.sonarqube/sonar-core
# https://mvnrepository.com/artifact/org.sonarsource.api.plugin/sonar-plugin-api
# https://mvnrepository.com/artifact/org.sonarsource.java/sonar-java-plugin
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.SONAR_SERVER_JAVA_VERSION }}
distribution: temurin
cache: 'maven'
- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: |
~/.sonar/cache
~/.sonar/orchestrator/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Build
run: |
./mvnw verify -B -e -V \
-Dsonar.server.version=${{ matrix.SONAR_SERVER_VERSION }} \
-Dsonar-plugin-api.version=${{ matrix.SONAR_PLUGIN_API_VERSION }}
deploy:
runs-on: ubuntu-latest
needs: build
# Forked repos do not have the secrets to deploy so this would fail
if: ( github.event_name == 'release' || ( github.event_name == 'push' && github.ref == 'refs/heads/master' )) && github.repository == 'spotbugs/sonar-findbugs'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
cache: 'maven'
server-id: ossrh
server-username: SONATYPE_USERNAME
server-password: SONATYPE_TOKEN
gpg-private-key: ${{ secrets.SIGNING_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- name: Deploy artifacts to Maven Central
run: |
./mvnw clean deploy -B -e -P deploy -DskipTests
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_TOKEN: ${{ secrets.SONATYPE_TOKEN }}
GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSWORD }}
CI: true
- name: Get release URL
if: github.event_name == 'release'
id: get_release
uses: bruceadams/[email protected]
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Upload .jar file to GitHub Release
if: github.event_name == 'release'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_path: ./target/sonar-findbugs-plugin.jar
asset_name: sonar-findbugs-plugin-${{ github.event.release.tag_name }}.jar
asset_content_type: application/zip
- name: Request SonarSource to release the plugin to marketplace
if: github.event_name == 'release' && github.event.release.prerelease == false
uses: ./.github/actions/sonar-update-center
with:
prop-file: findbugs.properties
description: Use SpotBugs 4.8.6, sb-contrib 7.6.4, and findsecbugs 1.13.0
minimal-supported-sq-version: 9.9
latest-supported-sq-version: LATEST
changelog-url: https://github.com/spotbugs/sonar-findbugs/releases/tag/${{ github.event.release.tag_name }}
download-url: https://repo.maven.apache.org/maven2/com/github/spotbugs/sonar-findbugs-plugin/${{ github.event.release.tag_name }}/sonar-findbugs-plugin-${{ github.event.release.tag_name }}.jar # The URL to download your plugin
public-version: ${{ github.event.release.tag_name }}
sonar-cloud-url: https://sonarcloud.io/summary/new_code?id=com.github.spotbugs:sonar-findbugs-plugin
github-token: ${{ secrets.PAT_TO_FORK }}
discourse-api-key: ${{ secrets.DISCOURSE_API_KEY }}
skip-creating-pull-request: false
skip-announcing: true