Skip to content

chore: add production environment to build job in publish.yml #13

chore: add production environment to build job in publish.yml

chore: add production environment to build job in publish.yml #13

Workflow file for this run

name: Publish to Maven & Create GitHub Release
on:
push:
branches:
- master
workflow_dispatch:
env:
SLNE_SNAPSHOTS_REPO_USERNAME: ${{ secrets.SLNE_SNAPSHOTS_REPO_USERNAME }}
SLNE_SNAPSHOTS_REPO_PASSWORD: ${{ secrets.SLNE_SNAPSHOTS_REPO_PASSWORD }}
SLNE_RELEASES_REPO_USERNAME: ${{ secrets.SLNE_RELEASES_REPO_USERNAME }}
SLNE_RELEASES_REPO_PASSWORD: ${{ secrets.SLNE_RELEASES_REPO_PASSWORD }}
MODULE_REGEX: "surf-database.*-all\\.jar$"
jobs:
build:
environment: production
runs-on: ubuntu-latest
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/workflow-telemetry-action@v2
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: gradle-${{ runner.os }}-
- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: 'graalvm'
java-version: '21'
- name: Build all modules with Gradle
run: ./gradlew build shadowJar --parallel --no-scan
- name: Check all modules with Gradle
run: ./gradlew check --parallel --no-scan
- name: Publish all modules to Maven
run: ./gradlew publish --parallel --no-scan
- name: Extract Project Version
id: get_version
run: echo "VERSION=$(./gradlew properties | grep "^version:" | awk '{print $2}')" >> $GITHUB_ENV
- name: Find and filter JAR files
id: find_jars
run: |
echo "JAR_FILES<<EOF" >> $GITHUB_ENV
find . -path "**/build/libs/*.jar" | grep -E "${{ env.MODULE_REGEX }}" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ env.VERSION }}
name: Release ${{ env.VERSION }}
draft: false
prerelease: false
files: ${{ env.JAR_FILES }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}