Fixes issue #3491 - Add WebAppFeature (#3495) #3475
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |