Skip to content

Commit d03455d

Browse files
committed
Add SQLite and MariaDB dependencies, update version to 1.0.4-SNAPSHOT, and create GitHub Actions workflow for publishing
1 parent fa42d52 commit d03455d

4 files changed

Lines changed: 81 additions & 1 deletion

File tree

.github/workflows/publish.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Publish to Maven & Create GitHub Release
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
workflow_dispatch:
8+
9+
env:
10+
SLNE_SNAPSHOTS_REPO_USERNAME: ${{ secrets.SLNE_SNAPSHOTS_REPO_USERNAME }}
11+
SLNE_SNAPSHOTS_REPO_PASSWORD: ${{ secrets.SLNE_SNAPSHOTS_REPO_PASSWORD }}
12+
SLNE_RELEASES_REPO_USERNAME: ${{ secrets.SLNE_RELEASES_REPO_USERNAME }}
13+
SLNE_RELEASES_REPO_PASSWORD: ${{ secrets.SLNE_RELEASES_REPO_PASSWORD }}
14+
MODULE_REGEX: "surf-database.*-all\\.jar$"
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
environment: production
20+
steps:
21+
- name: Collect Workflow Telemetry
22+
uses: catchpoint/workflow-telemetry-action@v2
23+
24+
- name: Checkout Repository
25+
uses: actions/checkout@v4
26+
with:
27+
fetch-depth: 0
28+
29+
- name: Cache Gradle packages
30+
uses: actions/cache@v3
31+
with:
32+
path: |
33+
~/.gradle/caches
34+
~/.gradle/wrapper
35+
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
36+
restore-keys: gradle-${{ runner.os }}-
37+
38+
- name: Setup JDK
39+
uses: actions/setup-java@v4
40+
with:
41+
distribution: 'graalvm'
42+
java-version: '21'
43+
44+
- name: Build all modules with Gradle
45+
run: ./gradlew build shadowJar --parallel --no-scan
46+
47+
- name: Check all modules with Gradle
48+
run: ./gradlew check --parallel --no-scan
49+
50+
- name: Publish all modules to Maven
51+
run: ./gradlew publish --parallel --no-scan
52+
53+
- name: Extract Project Version
54+
id: get_version
55+
run: echo "VERSION=$(./gradlew properties | grep "^version:" | awk '{print $2}')" >> $GITHUB_ENV
56+
57+
- name: Find and filter JAR files
58+
id: find_jars
59+
run: |
60+
echo "JAR_FILES<<EOF" >> $GITHUB_ENV
61+
find . -path "**/build/libs/*.jar" | grep -E "${{ env.MODULE_REGEX }}" >> $GITHUB_ENV
62+
echo "EOF" >> $GITHUB_ENV
63+
64+
- name: Create GitHub Release
65+
uses: softprops/action-gh-release@v2
66+
with:
67+
tag_name: v${{ env.VERSION }}
68+
name: Release ${{ env.VERSION }}
69+
draft: false
70+
prerelease: false
71+
files: ${{ env.JAR_FILES }}
72+
env:
73+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ dependencies {
1919
exclude("org.slf4j", "slf4j-api")
2020
}
2121
api(libs.hikari)
22+
23+
runtimeOnly(libs.sqlite)
24+
runtimeOnly(libs.mariadb)
2225
}
2326

2427
kotlin {

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
kotlin.code.style=official
22
kotlin.stdlib.default.dependency=false
33
org.gradle.parallel=true
4-
version=1.0.2-SNAPSHOT
4+
version=1.0.4-SNAPSHOT

gradle/libs.versions.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
[versions]
22
exposed = "0.60.0"
33
hikari = "6.2.1"
4+
sqlite = "3.49.1.0"
5+
mariadb = "3.5.2"
46

57
[libraries]
68
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
79
exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" }
810
exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" }
911
hikari = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
12+
sqlite = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite" }
13+
mariadb = { module = "org.mariadb.jdbc:mariadb-java-client", version.ref = "mariadb" }
1014

1115
[bundles]
1216
exposed = ["exposed-core", "exposed-jdbc", "exposed-dao"]

0 commit comments

Comments
 (0)