Skip to content

Commit 11a7da0

Browse files
authored
ci: workflow for auto update readme (#9)
1 parent f823299 commit 11a7da0

File tree

3 files changed

+55
-4
lines changed

3 files changed

+55
-4
lines changed

.github/ReadmeUpdater.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import java.io.FileWriter;
2+
import java.io.IOException;
3+
import java.nio.file.Files;
4+
import java.nio.file.Path;
5+
import java.nio.file.Paths;
6+
7+
public class ReadmeUpdater {
8+
9+
private static final Path README_PATH = Paths.get("../README.md");
10+
private static final Path POM_PATH = Paths.get("../pom.xml");
11+
12+
public static void main(String[] args) throws IOException {
13+
String releaseVersion = args[0];
14+
15+
String newReadme = new String(Files.readAllBytes(README_PATH))
16+
.replaceAll("<version>.*</version>",
17+
String.format("<version>%s</version>", releaseVersion))
18+
.replaceAll("implementation 'com\\.featureprobe:server-sdk-java:.*'",
19+
String.format("implementation 'com.featureprobe:server-sdk-java:%s'", releaseVersion));
20+
21+
String newPom = new String(Files.readAllBytes(POM_PATH))
22+
.replaceAll("<artifactId>server-sdk-java</artifactId>\n <version>.*</version>",
23+
String.format("<artifactId>server-sdk-java</artifactId>\n <version>%s</version>", releaseVersion));
24+
25+
try (FileWriter readme = new FileWriter(README_PATH.toString(), false);
26+
FileWriter pom = new FileWriter(POM_PATH.toString(), false)) {
27+
readme.write(newReadme);
28+
pom.write(newPom);
29+
} catch (IOException e) {
30+
throw e;
31+
}
32+
}
33+
34+
}

.github/workflows/maven-publish.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ jobs:
1717
server-id: ossrh
1818
server-username: MAVEN_USERNAME
1919
server-password: MAVEN_PASSWORD
20+
2021
- id: install-secret-key
2122
name: Install gpg secret key
2223
run: |
@@ -27,4 +28,19 @@ jobs:
2728
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
2829
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
2930
run: mvn --batch-mode -Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} clean deploy
30-
31+
32+
- name: Guess Dependency Declaration Version
33+
run: |
34+
cd .github
35+
javac ReadmeUpdater.java
36+
java ReadmeUpdater ${{github.ref_name}}
37+
rm -f ReadmeUpdater.class
38+
- name: Propose a PR to Update Readme
39+
uses: peter-evans/create-pull-request@v3
40+
with:
41+
base: main
42+
author: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
43+
commit-message: "chore: update maven and gradle dependency declarations"
44+
title: "chore: update maven and gradle dependency declarations"
45+
body: Update version info in dependency declarations to `${{github.ref_name}}`.
46+
branch: readme-dep-ver

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# FeatureProbe Server Side SDK for Java
2+
3+
[![Maven Central](https://img.shields.io/maven-central/v/com.featureprobe/server-sdk-java)](https://search.maven.org/artifact/com.featureprobe/server-sdk-java)
24
[![codecov](https://codecov.io/gh/FeatureProbe/server-sdk-java/branch/main/graph/badge.svg?token=WZC3ZS6NNL)](https://codecov.io/gh/FeatureProbe/server-sdk-java)
35
[![GitHub Star](https://img.shields.io/github/stars/FeatureProbe/server-sdk-java)](https://github.com/FeatureProbe/server-sdk-java/stargazers)
46
[![License](https://img.shields.io/github/license/FeatureProbe/server-sdk-java)](https://github.com/FeatureProbe/server-sdk-java/blob/main/LICENSE)
@@ -18,18 +20,17 @@ First, install the FeatureProbe SDK as a dependency in your application.
1820
#### Apache Maven
1921

2022
```xml
21-
2223
<dependency>
2324
<groupId>com.featureprobe</groupId>
2425
<artifactId>server-sdk-java</artifactId>
25-
<version>1.1.1</version>
26+
<version>1.2.0</version>
2627
</dependency>
2728
```
2829

2930
#### Gradle Groovy DSL
3031

3132
```text
32-
implementation 'com.featureprobe:server-sdk-java:1.1.1'
33+
implementation 'com.featureprobe:server-sdk-java:1.2.0'
3334
```
3435

3536
### Step 2. Create a FeatureProbe instance

0 commit comments

Comments
 (0)