-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Discussion: https://lists.lfaidata.foundation/g/janusgraph-dev/topic/discussion_release_snapshot/84922650 Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
- Loading branch information
Showing
9 changed files
with
168 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Copyright 2022 JanusGraph Authors | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
name: CI Release commit artifacts publish to `org.janusgraph.commit` groupId | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
- v* | ||
|
||
jobs: | ||
commit-publish: | ||
runs-on: ubuntu-20.04 | ||
permissions: | ||
contents: read | ||
packages: write | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/cache@v3 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: | | ||
${{ runner.os }}-maven- | ||
- uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'zulu' | ||
java-version: '8.0.312+7' | ||
java-package: jdk | ||
- name: Remove version SNAPSHOT suffix if exists | ||
run: mvn versions:set -DremoveSnapshot=true -DgenerateBackupPoms=false | ||
- name: Set JanusGraph version environment variable | ||
run: | | ||
export JG_VER="$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)-$(date '+%Y%m%d-%H%M%S').$(git rev-parse --short HEAD)" | ||
export JG_DESCRIPTION="Janusgraph commit release. Commit $(git rev-parse HEAD). Branch $(git rev-parse --abbrev-ref HEAD). Version $JG_VER." | ||
echo "JG_VER=${JG_VER}" >> $GITHUB_ENV | ||
echo "JG_DESCRIPTION=${JG_DESCRIPTION}" >> $GITHUB_ENV | ||
- name: Configure GPG Key | ||
run: | | ||
echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import | ||
env: | ||
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} | ||
- name: Set OSSR credentials | ||
run: | | ||
mkdir -p ~/.m2/ | ||
echo "<settingsSecurity><master>$MASTER_PASSWORD</master></settingsSecurity>" > ~/.m2/settings-security.xml | ||
echo "<settings><servers><server><id>ossrh</id><username>$OSSRH_USERNAME</username><password>$OSSRH_PASSWORD</password></server></servers></settings>" > ~/.m2/settings.xml | ||
env: | ||
MASTER_PASSWORD: ${{ secrets.MASTER_PASSWORD }} | ||
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} | ||
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | ||
- name: Replace groupId to commit groupId | ||
run: find ./ -type f -name "pom.xml" -exec sed -i "s/<groupId>org.janusgraph<\/groupId>/<groupId>org.janusgraph.commit<\/groupId>/g" {} \; | ||
- name: Setup unique version | ||
run: mvn versions:set -DnewVersion="$JG_VER" -DgenerateBackupPoms=false | ||
- name: Make JanusGraph JAR artifacts | ||
run: mvn clean install -Pjanusgraph-release -DskipTests=true | ||
- name: Deploy JanusGraph JAR artifacts into staging repository | ||
run: mvn deploy -Pjanusgraph-release,janusgraph-commit-release -DskipTests=true -DautoReleaseAfterClose=true -Ddescription="$JG_DESCRIPTION" -DstagingDescription="$JG_DESCRIPTION" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Snapshot releases | ||
|
||
In addition to official JanusGraph releases, JanusGraph publishes | ||
releases for each commit. The commit releases allow users to use latest | ||
JanusGraph features without relying on official JanusGraph releases. | ||
- Official JanusGraph releases are better tested and usually come with finalized | ||
changes which signals that the used features are most likely to be stable for long term. | ||
- Commit releases are not manually verified but instead verified by main CI tests as | ||
well as scheduled full CI tests (once per week). New features in commit releases are not | ||
guaranteed to be compatible between commits. Thus, you may expect more breaking changes between | ||
commit releases and official releases. | ||
|
||
## Maven repository artifacts | ||
|
||
Both official and commit release are deployed to Sonatype OSS and are available in Sonatype Maven Central Repository | ||
under different group ids. | ||
|
||
Official JanusGraph releases have the next groupId: `org.janusgraph`. | ||
Dependencies example: | ||
```xml tab='Maven' | ||
<dependency> | ||
<groupId>org.janusgraph</groupId> | ||
<artifactId>janusgraph-core</artifactId> | ||
<version>0.6.2</version> | ||
</dependency> | ||
``` | ||
|
||
```groovy tab='Gradle' | ||
compile "org.janusgraph:janusgraph-core:0.6.2" | ||
``` | ||
|
||
Commit JanusGraph releases have the next groupId: `org.janusgraph.commit`. | ||
Artifact id for commit releases have the next format: `FOLLOWING_VERSION-DATE-TIME.COMMIT`. | ||
- `FOLLOWING_VERSION` is the upcoming official version to be used after release is finalized (i.e. `0.6.3` if the current latest release is `0.6.2`). | ||
- `DATE` - date of the commit release in `yyyyMMdd` format. | ||
- `TIME` - time of the commit release in `HHmmss` format. | ||
- `COMMIT` - short commit hash of the commit used in the release. | ||
|
||
Dependencies example: | ||
```xml tab='Maven' | ||
<dependency> | ||
<groupId>org.janusgraph.commit</groupId> | ||
<artifactId>janusgraph-core</artifactId> | ||
<version>0.6.3-20221207-100250.39839b810</version> | ||
</dependency> | ||
``` | ||
|
||
```groovy tab='Gradle' | ||
compile "org.janusgraph.commit:janusgraph-core:0.6.3-20221207-100250.39839b810" | ||
``` | ||
|
||
## JanusGraph distribution builds | ||
|
||
In addition to distribution builds provided for each official JanusGraph release, snapshot distribution builds are | ||
provided for all commits. | ||
|
||
!!! info | ||
GitHub allows to download distribution builds only for authenticated GitHub users. | ||
|
||
To access the distribution build bundle for any commit, please open the commit you are interested in and select its | ||
`CI Release` details. For example: | ||
![](github_release_ci.png) | ||
|
||
When `CI Release` page is opened for a specific commit, open summary and download the attached to `Artifacts` section | ||
file named `distribution-builds`. This will download `distribution-builds.zip` archive containing all distribution builds. | ||
![](github_distribution_builds.png) | ||
|
||
!!! warning | ||
Old snapshot distribution builds are expiring in GitHub due to timing and memory limits. It's not guaranteed that | ||
the snapshot distribution build downloaded yesterday is available today. We encourage to use either official release | ||
distribution builds or newer snapshot distribution builds. | ||
|
||
If you see expired distribution builds or don't see any distribution builds for a specific commit, it means that it isn't | ||
available to be downloaded anymore. Thus, the distribution builds from newer commits should be used. | ||
![](github_expired_distribution_builds.png) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters