Skip to content

Commit

Permalink
feat: rename module add ci + publish
Browse files Browse the repository at this point in the history
  • Loading branch information
KirillKurdyukov committed Aug 21, 2024
1 parent 226a474 commit cf7e2e7
Show file tree
Hide file tree
Showing 10 changed files with 136 additions and 3 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/ci-shedlock.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: YDB ShedLock CI with Maven

on:
push:
paths:
- 'shedlock-ydb/**'
branches:
- main
pull_request:
paths:
- 'shedlock-ydb/**'

env:
MAVEN_ARGS: --batch-mode --update-snapshots -Dstyle.color=always

jobs:
build:
name: YDB ShedLock Lock Provider
runs-on: ubuntu-latest

strategy:
matrix:
java: [ '17', '21' ]

steps:
- uses: actions/checkout@v4

- name: Set up JDK ${{matrix.java}}
uses: actions/setup-java@v4
with:
java-version: ${{matrix.java}}
distribution: 'temurin'
cache: maven

- name: Extract YDB ShedLock Lock Provider version
working-directory: ./shedlock-ydb
run: |
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "SHEDLOCK_VERSION=$VERSION" >> "$GITHUB_ENV"
- name: Download ShedLock Lock Provider dependencies
working-directory: ./shedlock-ydb
run: mvn $MAVEN_ARGS dependency:go-offline

- name: Build ShedLock Lock Provider
working-directory: ./shedlock-ydb
run: mvn $MAVEN_ARGS clean test
85 changes: 85 additions & 0 deletions .github/workflows/publish-shedlock-ydb.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Publish YDB ShedLock

on:
push:
tags:
- 'shedlock-ydb/v[0-9]+.[0-9]+.[0-9]+'

env:
MAVEN_ARGS: --batch-mode --no-transfer-progress -Dstyle.color=always

jobs:
validate:
name: Validate YDB ShedLock
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Extract shedlock ydb version
run: |
cd shedlock-ydb
SHEDLOCK_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "SHEDLOCK_VERSION=$SHEDLOCK_VERSION" >> "$GITHUB_ENV"
- name: Fail workflow if version is snapshot
if: endsWith(env.SHEDLOCK_VERSION, 'SNAPSHOT')
uses: actions/github-script@v6
with:
script: core.setFailed('SNAPSHOT version cannot be published')

- name: Fail workflow if version is not equal to tag name
if: format('shedlock-ydb/v{0}', env.SHEDLOCK_VERSION) != github.ref_name
uses: actions/github-script@v6
with:
script: core.setFailed('Release name must be equal to project version')

- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
cache: 'maven'

- name: Download dependencies
run: |
cd shedlock-ydb
mvn $MAVEN_ARGS dependency:go-offline
- name: Build with Maven
run: |
cd shedlock-ydb
mvn $MAVEN_ARGS package
publish:
name: Publish YDB ShedLock
runs-on: ubuntu-latest
needs: validate

steps:
- name: Install gpg secret key
run: |
# Install gpg secret key
cat <(echo -e "${{ secrets.MAVEN_OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import
# Verify gpg secret key
gpg --list-secret-keys --keyid-format LONG
- uses: actions/checkout@v4

- name: Set up Maven Central Repository
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
cache: 'maven'
server-id: ossrh-s01
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD

- name: Publish package
run: |
cd shedlock-ydb
mvn $MAVEN_ARGS -Possrh-s01 -Dgpg.passphrase=${{ secrets.MAVEN_OSSRH_GPG_PASSWORD }} clean deploy
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_OSSRH_TOKEN }}
6 changes: 3 additions & 3 deletions shaded-lock-ydb/pom.xml → shedlock-ydb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
<modelVersion>4.0.0</modelVersion>

<groupId>tech.ydb.dialects</groupId>
<artifactId>shaded-lock-ydb</artifactId>
<artifactId>shedlock-ydb</artifactId>
<version>0.1.0</version>

<packaging>jar</packaging>

<name>Shaded Lock Service YDB</name>
<description>Shaded Lock Service YDB Spring Starter</description>
<name>ShedLock Service YDB</name>
<description>Lock Service YDB Spring Starter</description>
<url>https://github.com/ydb-platform/ydb-java-dialects</url>

<developers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public Optional<SimpleLock> lock(LockConfiguration lockConfiguration) {
System.out.println(semaphoreLease.getStatus());
return Optional.of(new YdbSimpleLock(semaphoreLease.getValue()));
} else {
logger.debug("Semaphore is not acquired");
return Optional.empty();
}
}
Expand Down

0 comments on commit cf7e2e7

Please sign in to comment.