You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@pekko.apache.org by GitBox <gi...@apache.org> on 2023/01/16 16:49:53 UTC

[GitHub] [incubator-pekko] mdedetrich opened a new pull request, #105: Publish nightlies to Apache Nexus Repository

mdedetrich opened a new pull request, #105:
URL: https://github.com/apache/incubator-pekko/pull/105

   Draft, TDB


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] seglo commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
seglo commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071589128


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   I think we should only publish milestone release artifacts to Apache's maven repo, otherwise the nightlies deployment is redundant. Milestone releases should be human-initiated, probably using a release-by-tag pattern like Akka currently does.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich merged pull request #105: Publish nightlies to Apache Nexus Repository

Posted by "mdedetrich (via GitHub)" <gi...@apache.org>.
mdedetrich merged PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071436479


##########
project/Publish.scala:
##########
@@ -21,42 +21,39 @@ import xerial.sbt.Sonatype.autoImport.sonatypeProfileName
 
 object Publish extends AutoPlugin {
 
-  val defaultPublishTo = settingKey[File]("Default publish directory")
-
   override def trigger = allRequirements
 
   override lazy val projectSettings = Seq(
-    publishTo := Some(akkaPublishTo.value),
+    publishTo := Some(pekkoPublishTo.value),
     publishRsyncHost := "akkarepo@gustav.akka.io",
-    credentials ++= akkaCredentials,
-    organizationName := "Lightbend Inc.",
-    organizationHomepage := Some(url("https://www.lightbend.com")),
-    sonatypeProfileName := "com.typesafe",
-    startYear := Some(2009),
+    credentials ++= pekkoCredentials,
+    organizationName := "Apache Inc.",

Review Comment:
   @pjfanning Do all of these settings look correct to you?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] pjfanning commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
pjfanning commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071595309


##########
project/Publish.scala:
##########
@@ -21,42 +21,39 @@ import xerial.sbt.Sonatype.autoImport.sonatypeProfileName
 
 object Publish extends AutoPlugin {
 
-  val defaultPublishTo = settingKey[File]("Default publish directory")
-
   override def trigger = allRequirements
 
   override lazy val projectSettings = Seq(
-    publishTo := Some(akkaPublishTo.value),
+    publishTo := Some(pekkoPublishTo.value),
     publishRsyncHost := "akkarepo@gustav.akka.io",
-    credentials ++= akkaCredentials,
-    organizationName := "Lightbend Inc.",
-    organizationHomepage := Some(url("https://www.lightbend.com")),
-    sonatypeProfileName := "com.typesafe",
-    startYear := Some(2009),
+    credentials ++= pekkoCredentials,
+    organizationName := "Apache Inc.",

Review Comment:
   Apache Software Foundation - I think Apache Inc is a private and unrelated company 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071912938


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   > So after manually checking each apache project in https://nightlies.apache.org/, whats sticking out as a sore thumb for me is that we are the **only** Apache project that is using the nightlies folder as a pseudo Nexus repo. The content that I found in the Apache nightly projects all seem to be one of the following
   
   * Binaires/fatjar's with `Main` for the Apache projects that happen to be applications rather than libraries (which makes sense since nightlies just being a remote directory is an ideal place to put binaries for distribution so people can test it)
   * Generated documentation
   * Some sought of microsite
   
   On the other hand if you look at the Apache maven snapshots directory at https://repository.apache.org/content/groups/snapshots/org/apache/ you can can clearly see that it is the primary mechanism being used to deliver snapshots (which to me are the fulfil the same intent as nightlies if we are talking about libraries, the main difference between the two is largely etymological due to history and nightlies being a subset of snapshots depending on what usage pattern you want to use). Furthermore just by quickly counting to get a rough idea of how many projects there are, you can also see that nightlies are rarely used where as the Apache nexus snapshots is being used by what appears to be almost every Apache JVM project. Of course different projects have different strategies on what constitutes a snapshot and how far in history we go (the only thing that is uncertain to me is whether its possible for Apache to configure automatic `-SNAPSHOT` expiry for artifacts (this is possible i
 n Nexus, just need to see if its possible for Aiven to configure it).
   
   To a degree it also pains me to say this because of the time spent on it, but I am getting the nagging feeling that we spent a lot of effort in emulating a standard nexus deployment (because we are now "deploying" using rsync) rather than just setting up a standard Nexus repository in sbt taking 4-5 lines (as shown in the PR) which would also have the added bonus advantage of integrating much more fluently with tools like sbt-release/sbt-ci-release, a strategy that pretty much every other Scala OS project uses for publishing (including snapshots).
   
   Maybe the most considerate approach here is to leave the current nightlies approach as it is and come up with another strategy for snapshots that is considered useful (also with some beforehand research for other projects to see what they do)?
   
   > You can resolve releases published to nightlies as a standard sbt dependency if you add it to your list of resolvers (resolvers += "Apache Pekko Snapshots" at "https://nightlies.apache.org/pekko/snapshots").
   
   You are right, I believe this should work fine but I just realized that in order to integrate this in pekko without some hacky workaround I would need to solve https://github.com/apache/incubator-pekko/issues/107 because sbt's `%%` dependency will resolve the same version against all Scala versions which fails if the versions differ as they do now.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by "mdedetrich (via GitHub)" <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071912938


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   So after manually checking each apache project in https://nightlies.apache.org/, whats sticking out as a sore thumb for me is that we are the **only** Apache project that is using the nightlies folder as a pseudo Nexus repo. The content that I found in the Apache nightly projects all seem to be one of the following
   
   * Binaires/fatjar's with `Main` for the Apache projects that happen to be applications rather than libraries (which makes sense since nightlies just being a remote directory is an ideal place to put binaries for distribution so people can test it)
   * Generated documentation
   * Some sought of microsite
   
   On the other hand if you look at the Apache maven snapshots directory at https://repository.apache.org/content/groups/snapshots/org/apache/ you can can clearly see that it is the primary mechanism being used to deliver snapshots (which to me are the fulfil the same intent as nightlies if we are talking about libraries, the main difference between the two is largely etymological due to history and nightlies being a subset of snapshots depending on what usage pattern you want to use). Furthermore just by quickly counting to get a rough idea of how many projects there are, you can also see that nightlies are rarely used where as the Apache nexus snapshots is being used by what appears to be almost every Apache JVM project. Of course different projects have different strategies on what constitutes a snapshot and how far in history we go (the only thing that is uncertain to me is whether its possible for Apache to configure automatic `-SNAPSHOT` expiry for artifacts (this is possible i
 n Nexus, just need to see if its possible for Aiven to configure it).
   
   To a degree it also pains me to say this because of the time spent on it, but I am getting the nagging feeling that we spent a lot of effort in emulating a standard nexus deployment (because we are now "deploying" using rsync) rather than just setting up a standard Nexus repository in sbt taking 4-5 lines (as shown in the PR) which would also have the added bonus advantage of integrating much more fluently with tools like sbt-release/sbt-ci-release, a strategy that pretty much every other Scala OS project uses for publishing (including snapshots).
   
   Maybe the most considerate approach here is to leave the current nightlies approach as it is and come up with another strategy for snapshots that is considered useful (also with some beforehand research for other projects to see what they do)? One suggestion would be to have a bot where if a committer makes a specific github comment on a PR/branch, it will trigger a workflow that will publish a snapshot containing the code for that branch which can be helpful for more complex/unusual PR's?
   
   > You can resolve releases published to nightlies as a standard sbt dependency if you add it to your list of resolvers (resolvers += "Apache Pekko Snapshots" at "https://nightlies.apache.org/pekko/snapshots").
   
   You are right, I believe this should work fine but I just realized that in order to integrate this in pekko without some hacky workaround I would need to solve https://github.com/apache/incubator-pekko/issues/107 because sbt's `%%` dependency will resolve the same version against all Scala versions which fails if the versions differ as they do now.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by "mdedetrich (via GitHub)" <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1084011066


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   After thinking about this, I will make a thread on the dev mailing list to discuss because to me we need to agree on some process on how to handle snapshot and snapshot vs nightly.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by "mdedetrich (via GitHub)" <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1085317594


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   Discussion posted in mailing list at https://lists.apache.org/thread/p5s8ysypyd2l2slb3o9f2v5vrf8dgsx8



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] seglo commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
seglo commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071648499


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   > For me the main intention to publish to apache's maven repo is so I can resolve it as a standard sbt dependency
   
   You can resolve releases published to nightlies as a standard sbt dependency if you add it to your list of resolvers (`resolvers += "Apache Pekko Snapshots" at "https://nightlies.apache.org/pekko/snapshots"`). 
   
   > which I want to do with pekko-http in order to rename the package to org.apache.pekko
   
   In lieu of a milestone release you could temporarily add a reference to a nightly snapshot. That would unblock getting the satellite projects to build. Whether a snapshot is published to nightlies or Apache's maven it doesn't really make a difference because you would still need to add a resolver for sbt to resolve the artifact.
   
   I was thinking that we just treat nightlies as the source for snapshots and then milestone releases go through the usual maven publishing workflow.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] pjfanning commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
pjfanning commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071649810


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   I tend to agree with @seglo - that the nightlies are enough



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071912938


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   > So after manually checking each apache project in https://nightlies.apache.org/, whats sticking out as a sore thumb for me is that we are the **only** Apache project that is using the nightlies folder as a pseudo Nexus repo. The content that I found in the Apache nightly projects all seem to be one of the following
   
   * Binaires/fatjar's with `Main` for the Apache projects that happen to be applications rather than libraries (which makes sense since nightlies just being a remote directory is an ideal place to put binaries for distribution so people can test it)
   * Generated documentation
   * Some sought of microsite
   
   On the other hand if you look at the Apache maven snapshots directory at https://repository.apache.org/content/groups/snapshots/org/apache/ you can can clearly see that it is the primary mechanism being used to deliver snapshots (which to me are the fulfil the same intent as nightlies if we are talking about libraries, the main difference between the two is largely etymological due to history and nightlies being a subset of snapshots depending on what usage pattern you want to use). Furthermore just by quickly counting to get a rough idea of how many projects there are, you can also see that nightlies are rarely used where as the Apache nexus snapshots is being used by what appears to be almost every Apache JVM project. Of course different projects have different strategies on what constitutes a snapshot and how far in history we go (the only thing that is uncertain to me is whether its possible for Apache to configure automatic `-SNAPSHOT` expiry for artifacts (this is possible i
 n Nexus, just need to see if its possible for Aiven to configure it).
   
   To a degree it also pains me to say this because of the time spent on it, but I am getting the nagging feeling that we spent a lot of effort in emulating a standard nexus deployment (because we are now "deploying" using rsync) rather than just setting up a standard Nexus repository in sbt taking 4-5 lines (as shown in the PR) which would also have the added bonus advantage of integrating much more fluently with tools like sbt-release/sbt-ci-release, a strategy that pretty much every other Scala OS project uses for publishing (including snapshots).
   
   Maybe the most considerate approach here is to leave the current nightlies approach as it is and come up with another strategy for snapshots that is considered useful (also with some beforehand research for other projects to see what they do)? One suggestion would be to have a bot where if a committer makes a specific github comment on a PR/branch, it will trigger a workflow that will publish a snapshot containing the code for that branch which can be helpful for more complex/unusual PR's?
   
   > You can resolve releases published to nightlies as a standard sbt dependency if you add it to your list of resolvers (resolvers += "Apache Pekko Snapshots" at "https://nightlies.apache.org/pekko/snapshots").
   
   You are right, I believe this should work fine but I just realized that in order to integrate this in pekko without some hacky workaround I would need to solve https://github.com/apache/incubator-pekko/issues/107 because sbt's `%%` dependency will resolve the same version against all Scala versions which fails if the versions differ as they do now.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071593211


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   So as far as I understand, Apache has a strict separate definition of what constitutes a nightly/release process which is not the same as maven deployment. According to Apache, a nightly/release is when you copy data to their remote folder using rsync (which is what you implemented), anything else including publishing to a Maven repo is ceremonial. 
   
   For me the main intention to publish to apache's maven repo is so I can resolve it as a standard sbt dependency (which I want to do with pekko-http in order to rename the package to `org.apache.pekko`), so to get to your point
   
   > otherwise the nightlies deployment is redundant.
   
   I guess this depends on whether the directory you rsynced to is considered a nightly deployment (or whether it even matters). From what I noticed, not every Apache TLP (top level project) deploys maven artifacts to nightly, particularly the JVM ones and I assume this is on the presumption to use Maven Nexus instead (see the https://nightlies.apache.org/flink/ as an example, they publish nightly documentation there, not artifacts). I know for an actual release you **need** to do rsync deployment for it to be officially recognized for Apache (in addition to a maven deployment) but it does appear that in some cases Apache JVM projects don't use nightly as a replacement for Maven.
   
   Personally I also don't see a real difference between nightlies and snapshots where as milestones is what I consider an actual release (and its also what Nexus typically considers a release because its separate from snapshots content directory and it also means that maven/ivy resolution mechanisms can treat `-SNAPSHOT` versions as mutable, even with all of its problems).
   
   @pjfanning What are your thoughts here?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071912938


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   So after manually checking each apache project in https://nightlies.apache.org/, whats sticking out as a sore thumb for me is that we are the **only** Apache project that is using the nightlies folder as a pseudo Nexus repo. The content that I found in the Apache nightly projects all seem to be one of the following
   
   * Binaires/fatjar's with `Main` for the Apache projects that happen to be applications rather than libraries (which makes sense since nightlies just being a remote directory is an ideal place to put binaries for distribution so people can test it)
   * Generated documentation
   * Some sought of microsite
   
   On the other hand if you look at the Apache maven snapshots directory at https://repository.apache.org/content/groups/snapshots/org/apache/ you can can clearly see that it is the primary mechanism being used to deliver snapshots (which to me are the fulfil the same intent as nightlies if we are talking about libraries, the main difference between the two is largely etymological due to history and nightlies being a subset of snapshots depending on what usage pattern you want to use). Furthermore just by quickly counting to get a rough idea of how many projects thee are, you can also see that nightlies are rarely used where as the Apache nexus snapshots is being used by what appears to be almost every Apache JVM project. Of course different projects have different strategies on what constitutes a snapshot and how far in history we go (the only thing that is uncertain to me is whether its possible for Apache to configure automatic `-SNAPSHOT` expiry for artifacts (this is possible in
  Nexus, just need to see if its possible for Aiven to configure it).
   
   To a degree it also pains me to say this because of the time spent on it, but I am getting the nagging feeling that we spent a lot of effort in emulating a standard nexus deployment (because we are now "deploying" using rsync) rather than just setting up repository in sbt taking 4-5 lines (as shown in the PR) which would also have the added bonus advantage of integrating much more fluently with tools like sbt-release/sbt-ci-release, a strategy that pretty much every other Scala OS project uses for publishing (including snapshots).
   
   Maybe the most considerate approach here is to leave the current nightlies approach as it is and come up with another strategy for snapshots that is considered useful (also with some beforehand research for other projects to see what they do)?
   
   > You can resolve releases published to nightlies as a standard sbt dependency if you add it to your list of resolvers (resolvers += "Apache Pekko Snapshots" at "https://nightlies.apache.org/pekko/snapshots").
   
   You are right, I believe this should work fine but I just realized that in order to integrate this in pekko without some hacky workaround I would need to solve https://github.com/apache/incubator-pekko/issues/107 because sbt's `%%` dependency will resolve the same version against all Scala versions which fails if the versions differ as they do now.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by "mdedetrich (via GitHub)" <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1086497127


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   Resolving, already answered in mailing list



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071436479


##########
project/Publish.scala:
##########
@@ -21,42 +21,39 @@ import xerial.sbt.Sonatype.autoImport.sonatypeProfileName
 
 object Publish extends AutoPlugin {
 
-  val defaultPublishTo = settingKey[File]("Default publish directory")
-
   override def trigger = allRequirements
 
   override lazy val projectSettings = Seq(
-    publishTo := Some(akkaPublishTo.value),
+    publishTo := Some(pekkoPublishTo.value),
     publishRsyncHost := "akkarepo@gustav.akka.io",
-    credentials ++= akkaCredentials,
-    organizationName := "Lightbend Inc.",
-    organizationHomepage := Some(url("https://www.lightbend.com")),
-    sonatypeProfileName := "com.typesafe",
-    startYear := Some(2009),
+    credentials ++= pekkoCredentials,
+    organizationName := "Apache Inc.",

Review Comment:
   @pjfanning Do all of these various org like settings look correct to you?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on a diff in pull request #105: Publish nightlies to Apache Nexus Repository

Posted by GitBox <gi...@apache.org>.
mdedetrich commented on code in PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#discussion_r1071593211


##########
.github/workflows/publish-nightly.yml:
##########
@@ -51,6 +51,12 @@ jobs:
         with:
           java-version: adopt@1.11
 
+      - name: Publish to Apache Maven repo
+        env:
+          NEXUS_USER: ${{ secrets.NEXUS_USER }}
+          NEXUS_PW: ${{ secrets.NEXUS_PW }}
+        run: sbt +publish
+

Review Comment:
   So as far as I understand, Apache has a strict separate definition of what constitutes a nightly/release process which is not the same as maven deployment. According to Apache, a nightly/release is when you copy data to their remote folder using rsync (which is what you implemented), anything else including publishing to a Maven repo is ceremonial. 
   
   For me the main intention to publish to apache's maven repo is so I can resolve it as a standard sbt dependency (which I want to do with pekko-http in order to rename the package to `org.apache.pekko`), so to get to your point
   
   > otherwise the nightlies deployment is redundant.
   
   I guess this depends on whether the directory you rsynced to is considered a nightly deployment (or whether it even matters). From what I noticed, not every Apache TLP (top level project) deploys maven artifacts to nightly, particularly the JVM ones and I assume this is on the presumption to use Maven Nexus instead (see the https://nightlies.apache.org/flink/ as an example, they publish nightly documentation there, not artifacts). I know for an actual release you **need** to do rsync deployment for it to be officially recognized for Apache (in addition to a maven deployment) but it does appear that in some cases Apache JVM projects don't use nightly as a replacement for Maven.
   
   Personally I also don't see a real difference between nightlies and snapshots where as milestones is what I consider an actual release (and its also what Nexus typically considers a release because its separate from snapshots content directory and it also means that maven/ivy resolution mechanisms can treat `-SNAPSHOT` versions as mutable, even with all of its problems). I do think there is merit in deploying maven snapshot versions for the same reasons as every other major Scala OS project does, but as you said the implication of that makes the current artifact copying into somewhat nightlies redundant unless we are breaking some Apache process.
   
   @pjfanning What are your thoughts here?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich commented on pull request #105: Publish nightlies to Apache Nexus Repository

Posted by "mdedetrich (via GitHub)" <gi...@apache.org>.
mdedetrich commented on PR #105:
URL: https://github.com/apache/incubator-pekko/pull/105#issuecomment-1403441125

   PR now ready to review. Note that there is a chance that it may not work (i.e. some credential or repository setting is wrong), but we will find out when the nightly job runs and then if there is a problem I will fix it in a follow up PR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org