Skip to content

Merge branch '#191' into development #33

Merge branch '#191' into development

Merge branch '#191' into development #33

Workflow file for this run

name: Nightly Build
on:
push:
branches:
- development
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: development
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
- name: Build with Maven
run: mvn clean install
- name: Rename and Copy Artifacts
run: |
short_commit=$(git rev-parse --short HEAD)
cp $(find ./corese-core/target/ -name 'corese-core-*-jar-with-dependencies.jar') ./corese-core-${short_commit}-nightly.jar
cp $(find ./corese-command/target/ -name 'corese-command-*.jar') ./corese-command-${short_commit}-nightly.jar
cp $(find ./corese-gui/target/ -name 'corese-gui-*.jar') ./corese-gui-${short_commit}-nightly.jar
cp $(find ./corese-jena/target/ -name 'corese-jena-*.jar') ./corese-jena-${short_commit}-nightly.jar
cp $(find ./corese-rdf4j/target/ -name 'corese-rdf4j-*.jar') ./corese-rdf4j-${short_commit}-nightly.jar
cp $(find ./corese-server/target/ -name 'corese-server-*.jar') ./corese-server-${short_commit}-nightly.jar
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: nightly-build
path: ./corese-*-nightly.jar
delete_previous_prerelease:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: development
- name: Delete previous nightly tag
run: |
latest_nightly_tag=$(gh release list --limit 1 --exclude-drafts --json tagName,isPrerelease -q '.[] | select(.isPrerelease) | .tagName')
if [ -n "$latest_nightly_tag" ]; then
gh release delete "$latest_nightly_tag" -y
gh api --method DELETE "/repos/${{ github.repository }}/git/refs/tags/$latest_nightly_tag"
else
echo "No previous nightly tag found."
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
create_prerelease:
runs-on: ubuntu-latest
needs: delete_previous_prerelease
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: development
- name: Download Build Artifacts
uses: actions/download-artifact@v4
with:
name: nightly-build
path: ./artifacts
- name: Create new prerelease
run: |
short_commit=$(git rev-parse --short HEAD)
date=$(date +'%Y%m%d')
tag_name="nightly-${date}-${short_commit}"
gh release create "$tag_name" -p -t "Nightly Build ${short_commit}" -n "This is an automated nightly build. It is a development version and not stable." --target development
gh release upload "$tag_name" ./artifacts/corese-*-nightly.jar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}