Skip to content

Fixes #3508 - Start 23.9.0 cycle #3486

Fixes #3508 - Start 23.9.0 cycle

Fixes #3508 - Start 23.9.0 cycle #3486

Workflow file for this run

name: build
on:
push:
branches:
- '*'
tags-ignore:
- 'v*'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
java: [ '17', '20' ]
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout Sources
uses: actions/checkout@v3
- name: Setup Java
uses: actions/setup-java@v3
with:
cache: 'maven'
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Build with Maven
run: mvn --no-transfer-progress -B install
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v1
if: ${{ runner.os != 'Windows' }}
with:
files: '**/target/surefire-reports/*.xml'
codeql:
name: codeql
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: 'java'
- name: Setup Java
uses: actions/setup-java@v3
with:
cache: 'maven'
distribution: 'temurin'
java-version: '17'
- name: Build with Maven
run: mvn -B -DskipTests=true -DskipITs=true --ntp install
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
dockerhub:
if: github.repository == 'piranhacloud/piranha' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Set up Java
uses: actions/setup-java@v3
with:
cache: 'maven'
distribution: 'temurin'
java-version: 17
- name: Build with Maven
run: mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' verify
- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: v0.10.0
- run: docker buildx inspect
- name: Build Piranha Core Profile image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/coreprofile
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
- name: Build Piranha Isolated image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/isolated
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
- name: Build Piranha Micro image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/micro
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
- name: Build Piranha MicroProfile image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/microprofile
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
- name: Build Piranha Platform image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/platform
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
- name: Build Piranha Server image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/server
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
- name: Build Piranha Servlet image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/servlet
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
- name: Build Piranha Web Profile image
run: |
mvn -B -Dmaven.javadoc.skip=true -DskipTests=true -DskipITs=true -ntp -P '!test' install
cd dist/webprofile
mvn -B -DskipTests=true -DskipITs=true -ntp -P docker deploy
early-access:
if: github.repository == 'piranhacloud/piranha'
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
fail-fast: false
matrix:
java: [ 'EA' ]
os: [ubuntu-latest]
steps:
- name: Checkout Sources
uses: actions/checkout@v3
- name: Setup Java ${{ matrix.java }}
uses: oracle-actions/setup-java@v1
with:
website: jdk.java.net
release: ${{ matrix.java }}
- name: Build with Maven
run: mvn -B --ntp install -Djacoco.skip=true
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v1
if: always()
with:
files: '**/target/surefire-reports/*.xml'
sonarcloud:
if: github.repository == 'piranhacloud/piranha' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Set up Java
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17
- name: Analyze with SonarCloud
run: |
mvn -B -ntp install verify site \
sonar:sonar -Dsonar.projectKey=piranhacloud_piranha \
-Dsonar.organization=piranhacloud -Dsonar.host.url=https://sonarcloud.io
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
sonatype:
if: github.repository == 'piranhacloud/piranha' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Set up Java
uses: actions/setup-java@v3
with:
cache: 'maven'
distribution: 'temurin'
java-version: 20
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Build with Maven
run: mvn -B -DskipTests=true -P '!test' -ntp deploy
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
maven-plugin-documentation:
if: github.repository == 'piranhacloud/piranha' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout Piranha
uses: actions/checkout@v3
- name: Checkout Piranha Website
uses: actions/checkout@v3
with:
repository: piranhacloud/piranha-website
token: ${{ secrets.GIT_PASSWORD }}
path: piranha-website
ref: 'gh-pages'
- name: Set up Java
uses: actions/setup-java@v3
with:
cache: 'maven'
distribution: 'temurin'
java-version: 20
- name: Build with Maven
run: |
mvn -B -DskipTests -DskipITs -ntp install
cd maven/plugins/piranha-maven-plugin
mvn -B -DskipTests -DskipITs -ntp site
cd ../../..
rm -rf piranha-website/maven/piranha-maven-plugin || true
mkdir -p piranha-website/maven/piranha-maven-plugin || true
cp -R maven/plugins/piranha-maven-plugin/target/site/* piranha-website/maven/piranha-maven-plugin/
cd piranha-website
git config --global user.email "[email protected]"
git config --global user.name "Automated publish"
git add .
git commit -a -m "Publishing Maven plugin documentation" || true
git push