Skip to content

Commit 00499f9

Browse files
Bump version, add standalone publish.yml (#39)
* Bump version to `1.0.0-SNAPSHOT` * GHA updates, lint nit, JVM >15 workaround See: - https://arrow.apache.org/docs/java/install.html - snowflakedb/snowflake-jdbc#589 - snowflakedb/snowpark-java-scala#82 * `ci/upload_to_maven.sh` tweaks * SNAPSHOT publish GHA
1 parent 26339d8 commit 00499f9

File tree

5 files changed

+83
-67
lines changed

5 files changed

+83
-67
lines changed

.github/workflows/github_actions.yml

Lines changed: 15 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -15,75 +15,33 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: checkout
18-
uses: actions/checkout@v3
18+
uses: actions/checkout@v4
1919

2020
- name: Set up Java
21-
uses: actions/setup-java@v2
21+
uses: actions/setup-java@v4
2222
with:
2323
distribution: 'adopt'
24-
java-version: '11'
24+
java-version: 17
2525
check-latest: true
2626

27-
- run: |
28-
unset SYSTEM
29-
./gradlew assemble;
27+
- name: assemble
3028
shell: bash
31-
name: assemble
29+
run: |
30+
unset SYSTEM
31+
./gradlew assemble
3232
3333
- name: Run examples
3434
env:
3535
API_TOKEN: ${{ secrets.API_TOKEN }}
3636
run: |
37-
cd build/libs
38-
rm *javadoc* *sources* *default*
39-
p=$(readlink -f *.jar)
40-
cd ../../src/main/java/examples
41-
javac -cp $p *.java
42-
for x in $(ls -1 *.java | sed 's/.java//');
43-
do
44-
echo $x;
45-
class_name=examples.$x;
46-
java -cp $p $class_name;
47-
done
37+
jar_relpath="$(find build/libs -type f | grep -v -e javadoc -e sources -e default)"
38+
jar="$(readlink -f "$jar_relpath")"
39+
cd src/main/java/examples
40+
javac -cp "$jar" Examples.java
41+
# arrow-java requires the --add-opens flag in Java ≥16; see https://arrow.apache.org/docs/java/install.html#id3
42+
java --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -cp "$jar" examples.Examples
4843
Release:
4944
if: startsWith(github.ref, 'refs/tags/')
5045
needs: [Examples]
51-
name: Create-Release
52-
runs-on: ubuntu-latest
53-
steps:
54-
- name: Checkout
55-
uses: actions/checkout@v2
56-
57-
- name: Set up Java
58-
uses: actions/setup-java@v2
59-
with:
60-
distribution: 'adopt'
61-
java-version: '11'
62-
check-latest: true
63-
64-
- name: Create-Jars
65-
run: unset SYSTEM; set +e; ./gradlew assemble; ./gradlew shadowJar; mkdir jars/; cp ./build/libs/*.jar jars/
66-
67-
- name: Create Release
68-
id: create_release
69-
uses: softprops/action-gh-release@v1
70-
env:
71-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
72-
with:
73-
files: jars/*.jar
74-
tag_name: ${{ github.event.release.tag_name }}
75-
name: ${{ github.event.release.tag_name }}
76-
draft: false
77-
prerelease: false
78-
79-
- name: Upload to maven
80-
run: |
81-
chmod +x ./ci/upload_to_maven.sh
82-
./ci/upload_to_maven.sh
83-
shell: bash
84-
env:
85-
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
86-
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
87-
GPG_SECRET_KEYS_ENC: ${{ secrets.GPG_SECRET_KEYS_ENC }}
88-
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
89-
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
46+
uses: ./.github/workflows/publish.yml
47+
secrets: inherit

.github/workflows/publish.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Publish snapshot to Maven Central
2+
on:
3+
workflow_call:
4+
workflow_dispatch:
5+
jobs:
6+
Release:
7+
name: 'Publish snapshot to Maven Central'
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout
11+
uses: actions/checkout@v4
12+
13+
- name: Set up Java
14+
uses: actions/setup-java@v4
15+
with:
16+
distribution: 'adopt'
17+
java-version: 17
18+
check-latest: true
19+
20+
- name: Create-Jars
21+
run: |
22+
unset SYSTEM
23+
./gradlew assemble
24+
./gradlew shadowJar
25+
mkdir jars/
26+
cp ./build/libs/*.jar jars/
27+
28+
- name: Create Release
29+
id: create_release
30+
uses: softprops/action-gh-release@v1
31+
env:
32+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33+
with:
34+
files: jars/*.jar
35+
tag_name: ${{ github.event.release.tag_name }}
36+
name: ${{ github.event.release.tag_name }}
37+
draft: false
38+
prerelease: false
39+
40+
- name: Upload to maven
41+
run: ./ci/upload_to_maven.sh
42+
shell: bash
43+
env:
44+
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
45+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
46+
GPG_SECRET_KEYS_ENC: ${{ secrets.GPG_SECRET_KEYS_ENC }}
47+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
48+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ apply plugin: 'java'
2727
apply plugin: 'com.diffplug.spotless'
2828

2929
group 'io.tiledb'
30-
version = '0.5.0'
30+
version = '1.0.0-SNAPSHOT'
3131

3232
repositories {
3333
mavenCentral()

ci/upload_to_maven.sh

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,25 @@
11
#!/usr/bin/env bash
22

3-
export GPG_KEY_LOCATION=$(pwd)/encrypted.key
3+
set -e
4+
5+
export GPG_KEY_LOCATION="$(pwd)/encrypted.key"
46
echo "Starting upload to maven"
5-
echo "${GPG_SECRET_KEYS_ENC}" | base64 --decode > $GPG_KEY_LOCATION
6-
./gradlew properties -q | grep "version:" | awk '{print $2}'
7-
export PROJECT_VERSION=$(./gradlew properties -q | grep "version:" | awk '{print $2}')
8-
# Upload only snapshots to sonatype oss so it can make its way to maven central
7+
echo "$GPG_SECRET_KEYS_ENC" | base64 --decode > "$GPG_KEY_LOCATION"
8+
export PROJECT_VERSION="$(./gradlew properties -q | grep "^version: " | awk '{print $2}')"
9+
echo "\$PROJECT_VERSION: $PROJECT_VERSION" >&2
10+
# Upload only snapshots to Sonatype OSS so it can make its way to Maven Central
11+
# https://oss.sonatype.org/content/repositories/snapshots/io/tiledb/tiledb-cloud-java/
912
./gradlew publishMavenJavaPublicationToMavenRepository
1013

11-
# Only non-snapshot can be pushed as maven releases
12-
if [[ ! $(echo "${PROJECT_VERSION}" | grep "SNAPSHOT") ]]; then
13-
./gradlew closeAndReleaseRepository
14+
# Only non-snapshot can be pushed as Maven releases
15+
if ! echo "$PROJECT_VERSION" | grep -q "SNAPSHOT"; then
16+
tag="$(git tag --points-at HEAD)"
17+
if [ -z "$tag" ]; then
18+
echo "Error: expected tag $PROJECT_VERSION" >&2
19+
exit 1
20+
elif [ "$tag" != "$PROJECT_VERSION" ]; then
21+
echo "Error: tag $tag != version $PROJECT_VERSION" >&2
22+
exit 1
23+
fi
24+
./gradlew closeAndReleaseRepository
1425
fi

src/main/java/io/tiledb/cloud/rest_api/model/TaskGraphLog.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -781,4 +781,3 @@ public String toJson() {
781781
return JSON.getGson().toJson(this);
782782
}
783783
}
784-

0 commit comments

Comments
 (0)