-
Notifications
You must be signed in to change notification settings - Fork 10
/
HOWTORELEASE.txt
63 lines (56 loc) · 3.85 KB
/
HOWTORELEASE.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Steps for Making a PDAL Release
==============================================================================
:Author: Grigory Pomadchin
:Contact: daunnc@gmail.com
:Date: 08/08/2017
This document describes the process for releasing a new version of PDAL JNI bindings.
General Notes
------------------------------------------------------------------------------
Release Process
1) Publish JNI Bindings
What you need:
- an account on sonatype (https://issues.sonatype.org/secure/Signup!default.jspa)
- ~/.sbt/1.0/sonatype.sbt file with the following content:
credentials += Credentials("Sonatype Nexus Repository Manager",
"oss.sonatype.org",
"<your username>",
"<your password>")
The description of the Sonatype publishment process (everything described below is in a java dir: cd PDAL/java):
- GitHub Actions is responisble for the release process:
- To make a new snapshot release - push commits into the main branch.
- To publish a release - publish the github release through UI or push a tag.
- Publishing snaphots:
Versioning:
- Release versions are derived from the latest (not lightweight) tag version. Each tag should start with v,
i.e. v2.3.0. The snapshot tag happens on commits that follow the tag, and contain git commit hash.
Snapshot can be published without PGP sign, it is published to a snapshot repo and allows immediate snaphot updates.
To publish everything in a local repo use command:
- ./scripts/publish-local.sh
- ./scripts/publish-local-native.sh (publishes native dependencies only)
To publish everything into sonatype snapshot repo use:
- ./scripts/publish-all.sh
Summary:
- Run ./scripts/publish-all.sh and everything is available in a snaphost repository
- Publishing releases:
Versioning:
- Release versions are derived from the latest (not lightweight) tag version. Each tag should start with v,
i.e. v2.3.0.
To publish everything into sonatype snapshot repo (staging repo) use:
- ./scripts/publish-all.sh --signed
Snapshot version is derived from the latest tag version. Releases can be published on tags (not lightweight) only.
Staging means a special repository in a pre released condition.
- Go into staging repos panel: https://oss.sonatype.org/#stagingRepositories (log in using sonatype user / pwd)
- Filter by package name (pdal in our case) and select staging repo
- Press Close button on the top of the table with repos. It would run packages
validation and will close staging repo in a succesfull case
- After succesfull closing press Release button. It would be immediately published into sonatype releases repo,
and synced with maven central ~ in 10 minutes and ~ in 2 hours it would be indexed here:
http://search.maven.org/#search%7Cga%7C1%7Cio.pdal
Full official guide: http://central.sonatype.org/pages/ossrh-guide.html
Deploying to sonatype using sbt official doc: http://www.scala-sbt.org/release/docs/Using-Sonatype.html
Official sonatype guide with pics of (https://oss.sonatype.org/#stagingRepositories) and answers the question what
to do after jars were published into a staging repo (in our case after ./scripts/publish-all.sh step)
Summary:
- Run ./scripts/publish-all.sh to publish everything into staging repo
- Go to sonatype panel https://oss.sonatype.org/#stagingRepositories and release the jar
- Await ~10 minutes to have jars published to maven central