codeoverflow-org / chatoverflow

What if you could combine the power of chat bots, streamer support sites and social media? This is chat overflow.
http://codeoverflow.org
Eclipse Public License 2.0
57 stars 12 forks source link

Prepare to publish Api to GitHub Package Registry on prealpha 3 release #130

Closed hlxid closed 4 years ago

hlxid commented 5 years ago

Description

As mentioned in https://github.com/codeoverflow-org/chatoverflow/issues/96#issuecomment-514269183 and discussed on discord we want to publish the Api to Maven Central as of prealpha 3.

For preparation we should setup everything that is needed for that before the release:

  1. We need to request access for the org.codeoverflow groupId at Sonatype (official guide).
  2. We need to setup sbt to be able to publish to Maven Central. xerial/sbt-sonatype should do most of that for us.

I want to automate release related publishing tasks like this or the creation and uploading of deployments to releases for alpha 1 (I will create a issue for that at some point), but for prealpha 3 it is going to happen manually if all are okay with that.

sebinside commented 5 years ago

Sounds good, let's do this when prealpha 3 is feature-complete. Following the guide, two business days should not be the problem :)

hlxid commented 5 years ago

Internally we've decided to use Github Package Registry instead of Maven Central, but GPR currently does have its issues with sbt, hopefully these get resolved soon.

hlxid commented 4 years ago

https://github.com/codeoverflow-org/chatoverflow-api/commit/ae808ed07f9c224ee3737eb1e96c8a2d23f26acc has implemented everything that is needed. Everyone with a github account that is in the codeoverflow org can now publish the api.

Initial setup: create a file at ~/.sbt/1.0/gpr-codeoverflow.sbt with the following content:

credentials += Credentials(
  "GitHub Package Registry",
  "maven.pkg.github.com",
  "<GITHUB_USERNAME>",
  "<GITHUB_TOKEN>"
)

And to publish simply run sbt apiProject/publish. When published it looks something like this.

SNAPSHOTs are currently still not supported however, but they aren't that important for now.