Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snapshots publication / Release frequency #1050

Closed
PaulWoitaschek opened this issue Nov 1, 2023 · 7 comments
Closed

Snapshots publication / Release frequency #1050

PaulWoitaschek opened this issue Nov 1, 2023 · 7 comments

Comments

@PaulWoitaschek
Copy link

It would be great if there were snapshot builds (either on a daily basis or on every commit)

Currently I'm waiting for this to be released: #1027 and it would be great if we could already make use of this until there is a stable release.

This could also be great because possible issues could be identified easier before released.

@jmini
Copy link
Collaborator

jmini commented Nov 2, 2023

Thank you for this message.

Some context:

I joined earlier this year (2023) as a commiter in this project to help @jabby with the maintenance.
I have most of the permissions in this repo and in the GitHub group.
I did not got any permissions to perform releases.

Like you I am not totally happy with the health of this library:

  • I have pending pull requests open since months. No review from anybody.
  • The release peace is too slow. For me we should release more often (like every months or at least every quarter)

Over the last months I have tried to contact @jabby multiple times now (Twitter/x, email), but currently I did not got any answer.

About releases / SNAPSHOT publication:

As mentioned I do not have any rights on sonatype (the service to publish on maven central).

I was thinking contacting them directly (not sure if there is a process when the original committers are no longer responding)

An option could be to change the groupId to be io.github.gitlab4j. But I would reserve this solution for the extreme case where there is no other options.

Jitpack:

The service https://jitpack.io could offer a similar experience than SNAPSHOT releases on a maven repo. They can build any commit of any repo on demand.

Sadly we are stuck because of the usage of io.fabric8:docker-maven-plugin

The plan is to switch to testcontainers. I made some progress on the open PR (#935) but this work should be finished to eliminate the need of the fabric8 plugin.

Open discussion:

Thank you very much for engaging on this topic. If you have more ideas, feel free to share them.

@jmini jmini changed the title Snapshots Snapshots publication / Release frequency Nov 2, 2023
@PaulWoitaschek
Copy link
Author

Super great to see your engagement! And I totally understand your frustration.

I won't expect sonatype to transfer any ownership. What is the thing with fabric8? Why do we need that for publishing from jitpack and why does it not work?

@jmini
Copy link
Collaborator

jmini commented Nov 3, 2023

io.fabric8:docker-maven-plugin is starting docker to run integration tests.

Somehow when jitpack is building it doesn't run the tests anyway but the build is failing with:

[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.30.0:start (start) on project gitlab4j-api: Execution start of goal io.fabric8:docker-maven-plugin:0.30.0:start failed: No <dockerHost> given, no DOCKER_HOST environment variable, no read/writable '/var/run/docker.sock' or '//./pipe/docker_engine' and no external provider like Docker machine configured -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

Using testcontainers would be better anyway.

@jmini
Copy link
Collaborator

jmini commented Nov 6, 2023

Good news 🎉
I have been in touch with @jabby to get the permission to create releases.
I am not sure how long this will take, but I hope I will be able to create releases soon.

@jmini
Copy link
Collaborator

jmini commented Nov 7, 2023

To get the latest version jitpack builds are now working.

Usage with gradle:

repositories {
    mavenCentral()
    maven {
        url "https://jitpack.io"
        content {
            includeGroup "com.github.gitlab4j"
        }
    }
}

dependencies {
    // ...
    implementation 'com.github.gitlab4j:gitlab4j-api:main-SNAPSHOT'
    // ...
}

Usage with maven:

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>com.github.gitlab4j</groupId>
    <artifactId>gitlab4j-api</artifactId>
    <version>main-SNAPSHOT</version>
  </dependency>
  <!-- ... -->
</dependencies>

Usage with jbang:

The example script uses Jbang where loading the dependency is really easy. You just need to declare this dependency:

//DEPS https://github.com/gitlab4j/gitlab4j-api/tree/main#:SNAPSHOT

Instead of:

//DEPS org.gitlab4j:gitlab4j-api:5.3.0

And then Jbang does the work of adding the additional repository for you.


If you are interested by the 6.x branch you can use the version 6.x-SNAPSHOT:

	dependencies {
	        implementation 'com.github.gitlab4j:gitlab4j-api:6.x-SNAPSHOT'
	}
	<dependency>
	    <groupId>com.github.gitlab4j</groupId>
	    <artifactId>gitlab4j-api</artifactId>
	    <version>6.x-SNAPSHOT</version>
	</dependency>

If you want a specific version, you can reference it by its commit (has to be newer as ab9b98c, 7 November 2023).

Example for commit 6561c93:

	dependencies {
	        implementation 'com.github.gitlab4j:gitlab4j-api:6561c93aaf'
	}
	<dependency>
	    <groupId>com.github.gitlab4j</groupId>
	    <artifactId>gitlab4j-api</artifactId>
	    <version>6561c93aaf</version>
	</dependency>

@jmini
Copy link
Collaborator

jmini commented Nov 18, 2023

I was granted the permission to create a release this week.

I have published two new versions on maven central:

@jmini jmini closed this as completed Nov 18, 2023
@PaulWoitaschek
Copy link
Author

Super cool, thank you! <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants