Skip to content

Maven Build and Publish #1

Maven Build and Publish

Maven Build and Publish #1

name: Maven Build and Publish
on:
push:
branches: [ main ]
workflow_dispatch:
inputs:
release_version:
description: 'Version to release (e.g. v1.2.3)'
required: true
release_description:
description: 'Description of release.'
required: true
jobs:
build-and-publish:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Set Release Version
id: set_version
run: |
echo "VERSION=${{ github.event.inputs.release_version }}" >> $GITHUB_ENV
- name: Build with Maven
run: mvn clean package
- name: Create tag
uses: actions/github-script@v7
with:
script: |
github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'refs/tags/${{ env.VERSION }}',
sha: context.sha
})
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.VERSION }}
name: Release ${{ env.VERSION }}
draft: false
prerelease: false
files: |
core/target/*.jar
extensions/spatial/target/*.jar
body: ${{ github.event.inputs.release_description }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}