Skip to content

change log

change log #48

name: πŸš€ Release
on:
push:
tags:
- '*'
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: write
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
release:
if: startsWith(github.ref, 'refs/tags/')
environment:
name: test-github-pages
url: ${{ steps.deployment.outputs.page_url }}
name: prod-release-deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
############################################
# Install Java
###########################################
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'adopt'
cache: maven
############################################
# Build jars + maven site
###########################################
- name: Build Maven site
run: mvn --batch-mode clean install site site:stage
############################################
# Create the release with changelog
###########################################
- name: "Build Changelog"
id: build_changelog
uses: mikepenz/release-changelog-builder-action@v4.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
configurationJson: |
{
"template": "# Welcome to this new version πŸ₯³\n We hope this improvements will make you happy. <ul><li>Changed files : #{{CHANGED_FILES}}</li><li>+ lines : #{{ADDITIONS}}</li><li>- lines : #{{DELETIONS}}</li><li>#{{RELEASE_DIFF}}</li> </ul>\n To see it in action : <ul><li><a target="_blank" href="https://nudger.fr">nudger.fr</a></li><li><a href="">documentation</a></li></ul> \n # What's up ? \n\n #{{CHANGELOG}}\n\n<details>\n<summary>Uncategorized</summary>\n\n#{{UNCATEGORIZED}}\n</details>",
"pr_template": "##{{NUMBER}} - #{{TITLE}} (#{{AUTHOR}})",
"empty_template": "Nothing",
"categories": [
{
"title": "## πŸ˜ƒ Features",
"labels": ["feature"]
},
{
"title": "## 🐜 Bug Fixes",
"labels": ["bug"]
},
{
"title": "## πŸ’¬ Documentation",
"labels": ["documentation"]
},
{
"title": "## πŸ“¦ Dependencies",
"labels": ["dependencies"]
}
]
}
- name: Create Release
uses: mikepenz/action-gh-release@v0.2.0-a03 #softprops/action-gh-release
with:
body: ${{ steps.build_changelog.outputs.changelog }}
files: |
LICENSE
./api/target/api-0.0.1-SNAPSHOT.jar
./ui/target/ui-0.0.1-SNAPSHOT.jar
############################################
# Deploy API to production server
###########################################
- name: Deploy API to 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_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "/opt/open4goods/bin/latest/api-latest.jar"
############################################
# Deploy UI to production server
###########################################
- name: Deploy UI to production 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_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "/opt/open4goods/bin/latest/ui-latest.jar"
############################################
# Restart applications
###########################################
- name: Start applications
uses: appleboy/ssh-action@v1.0.2
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY}}
script: sh /opt/open4goods/bin/publish-jars.sh
############################################
# Github pages deployment
###########################################
- name: Setup github Pages
uses: actions/configure-pages@v4
- name: Merge site
run: cp -r target/staging/* src/main/site/maven/
- name: Upload pen4goods custom site
uses: actions/upload-pages-artifact@v3
with:
path: './target/staging'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4