Skip to content

Enhance AddBone and AddCluster handlers with improved validation and … #16

Enhance AddBone and AddCluster handlers with improved validation and …

Enhance AddBone and AddCluster handlers with improved validation and … #16

Workflow file for this run

name: Publish JAR to GitHub Pages
on:
push:
branches:
- main
permissions:
contents: write
pages: write
id-token: write
jobs:
publish-jar:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Extract version from build.gradle
id: extract_version
run: |
VERSION=$(./gradlew -q printVersion)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Extracted version: $VERSION"
- name: Check if tag already exists
id: check_tag
run: |
if git tag -l "${{ steps.extract_version.outputs.version }}" | grep -q "${{ steps.extract_version.outputs.version }}"; then
echo "tag_exists=true" >> $GITHUB_OUTPUT
echo "Tag ${{ steps.extract_version.outputs.version }} already exists and will be overwritten"
else
echo "tag_exists=false" >> $GITHUB_OUTPUT
echo "Tag ${{ steps.extract_version.outputs.version }} does not exist"
fi
- name: Publish Maven artifacts to local repo
run: ./gradlew publish
env:
GROUP_ID: io.nodelink.server
ARTIFACT_ID: NodeLink-Server
VERSION: ${{ steps.extract_version.outputs.version }}
- name: Checkout target repository
uses: actions/checkout@v4
with:
repository: nodelink-project/nodelink-project.github.io
token: ${{ secrets.GH_TOKEN }}
path: target-repo
- name: Clean existing version folder
run: |
if [ -d "target-repo/NodeLink-Server/jar" ]; then
echo "Cleaning existing NodeLink-Server/jar folder..."
rm -rf target-repo/nodelink-server/jar
fi
mkdir -p target-repo/nodelink-server/jar
- name: Copy new artifacts
run: |
cp -r build/repo/* target-repo/nodelink-server/jar/
- name: Deploy to GitHub Pages
run: |
cd target-repo
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add .
if git diff --staged --quiet; then
echo "No changes to commit"
else
git commit -m "Update Orbit artifacts for version ${{ steps.extract_version.outputs.version }}"
git push
fi
- name: Create and push Git tag (with override)
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
# S'assurer qu'on pousse vers le bon repository
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
# Supprimer le tag localement s'il existe
git tag -d "${{ steps.extract_version.outputs.version }}" || true
# Supprimer le tag distant s'il existe
git push origin --delete "${{ steps.extract_version.outputs.version }}" || true
# Créer et pousser le nouveau tag
git tag -a "${{ steps.extract_version.outputs.version }}" -m "Release version ${{ steps.extract_version.outputs.version }}"
git push origin "${{ steps.extract_version.outputs.version }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}