Merge pull request #513 from open4good/renovate/xwiki-16.x #818
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
on: | |
push: | |
branches: | |
- 'main' | |
name: 🔘 Beta - Build, Test, and Publish | |
jobs: | |
deploy: | |
name: Beta Test, Build, and Publish | |
runs-on: self-hosted | |
steps: | |
############################################ | |
# Cache Maven Dependencies | |
########################################### | |
- name: Cache Maven Dependencies | |
id: cache-maven | |
uses: actions/cache@v4 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
############################################ | |
# Set up JDK 21 | |
########################################### | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
cache: 'maven' # Uses the cache-maven step | |
############################################ | |
# Set up Maven Repositories | |
########################################### | |
- name: Set up Maven Repositories | |
uses: s4u/[email protected] | |
with: | |
repositories: | | |
[ | |
{ | |
"id": "xwiki-releases", | |
"name": "xwiki-releases", | |
"url": "https://maven.xwiki.org/releases/", | |
"snapshots": { | |
"enabled": false | |
} | |
}, | |
{ | |
"id": "spring-snapshots", | |
"name": "spring-snapshots", | |
"url": "https://repo.spring.io/snapshot", | |
"snapshots": { | |
"enabled": true | |
} | |
}, | |
{ | |
"id": "linkedin", | |
"name": "linkedin", | |
"url": "https://linkedin.jfrog.io/artifactory/open-source/", | |
"snapshots": { | |
"enabled": false | |
} | |
} | |
] | |
############################################ | |
# Checkout and Build xwiki-springboot-starter | |
########################################### | |
- name: Checkout xwiki-springboot-starter | |
uses: actions/checkout@v4 | |
with: | |
repository: 'open4good/xwiki-spring-boot-starter' | |
- name: Build and Test xwiki-springboot-starter | |
working-directory: ./xwiki-spring-boot-starter | |
run: mvn --batch-mode --update-snapshots install | |
############################################ | |
# Checkout the Main Repository | |
########################################### | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
############################################ | |
# TODO 2 Issue | |
########################################### | |
- name: "TODO2Issue" | |
uses: "alstr/todo-to-issue-action@v5" | |
with: | |
IDENTIFIERS: '[{"name": "ISSUE", "labels": ["codeTodo"]}]' | |
############################################ | |
# Maven Dependency Tree Submission | |
########################################### | |
- name: Maven Dependency Submission | |
uses: advanced-security/[email protected] | |
############################################ | |
# Build and Test with Maven | |
########################################### | |
- name: Build and Test with Maven | |
run: mvn --batch-mode --update-snapshots install | |
############################################ | |
# Deploy JAR Files to Qualification Environment | |
########################################### | |
- name: Deploy SBADMIN to Qualification Server | |
uses: easingthemes/ssh-deploy@main | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
ARGS: "-rltgoDzvO --delete" | |
SOURCE: "/admin/target/admin-0.0.1-SNAPSHOT.jar" | |
REMOTE_HOST: ${{ secrets.REMOTE_BETA_HOST }} | |
REMOTE_USER: ${{ secrets.REMOTE_BETA_USER }} | |
TARGET: "/opt/open4goods/bin/latest/sbadmin-latest.jar" | |
- name: Deploy API to Qualification Server | |
uses: easingthemes/ssh-deploy@main | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
ARGS: "-rltgoDzvO --delete" | |
SOURCE: "/api/target/api-0.0.1-SNAPSHOT.jar" | |
REMOTE_HOST: ${{ secrets.REMOTE_BETA_HOST }} | |
REMOTE_USER: ${{ secrets.REMOTE_BETA_USER }} | |
TARGET: "/opt/open4goods/bin/latest/api-latest.jar" | |
- name: Deploy UI to Qualification Server | |
uses: easingthemes/ssh-deploy@main | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
ARGS: "-rltgoDzvO --delete" | |
SOURCE: "/ui/target/ui-0.0.1-SNAPSHOT.jar" | |
REMOTE_HOST: ${{ secrets.REMOTE_BETA_HOST }} | |
REMOTE_USER: ${{ secrets.REMOTE_BETA_USER }} | |
TARGET: "/opt/open4goods/bin/latest/ui-latest.jar" | |
############################################ | |
# Restarting Application | |
########################################### | |
- name: Publish Applications | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.REMOTE_BETA_HOST }} | |
username: ${{ secrets.REMOTE_BETA_USER }} | |
key: ${{ secrets.SSH_PRIVATE_KEY}} | |
script: sh /opt/open4goods/bin/publish-jars.sh beta |