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

Make default Hazelcast version, last released version (i.e. not SNAPSHOT). #636

Conversation

JackPGreen
Copy link
Contributor

@JackPGreen JackPGreen commented May 22, 2024

SNAPSHOT Hazelcast builds are no longer publicly accessible, which leads to build failures as code-samples relies on SNAPSHOTs since virtually the beginning.

It makes more sense for examples of how to use Hazelcast to be backed by production-quality dependencies, i.e. a released version.

As such, downgraded to the latest released version of Hazelcast - will be kept up-to-date via Dependabot.

Slack discussion

`SNAPSHOT`).

[`SNAPSHOT` Hazelcast builds are no longer publically
accessible](https://hazelcast.atlassian.net/browse/DI-100), which leads
to build failures as `code-samples` relies on these versions.

It makes more sense for examples of how to use Hazelcast to be backed by
production-quality dependencies, i.e. a released version.

As such, downgraded to the latest released version of Hazelcast - will
be kept up-to-date via
[Dependabot](hazelcast#574).

[Slack discussion](https://hazelcast.slack.com/archives/C05LM8B80UT/p1716380405098929)
@JackPGreen JackPGreen requested review from kwart and nishaatr May 22, 2024 14:51
@JackPGreen JackPGreen self-assigned this May 22, 2024
jet/wordcount-compute-isolation/pom.xml Outdated Show resolved Hide resolved
pom.xml Show resolved Hide resolved
@JackPGreen JackPGreen requested a review from nishaatr May 23, 2024 09:01
@nishaatr
Copy link
Contributor

FYI...

I have made some changes under https://github.com/hazelcast/hazelcast-pipeline-library/pull/249 to support git --allow-empty for code-samples.

However, I just tested code-samples locally and it fails if <hazelcast.version> is set to a release like 5.4.0 in master and not SNAPSHOT. This happens when I try to create a MINOR release branch cut from master and the failed check is here

image

I am just highlighting here as the use of SNAPSHOT (in code-samples and deployment) is still an open question. If we decide to use last release in code-samples, then I will need to fix above

Then the questions arises whether we need this PR to auto-update <hazelcast.version> for code-samples? I will need to make changes to fix this in any case, and my thinking is, may be best we do this in the Release Pipeline to set required version in release-branch, z-branch and master so its in one place and makes release instructions little simpler. We can discuss this further once we have a way forward on the question where we should deploy SNAPSHOT or not

@olukas
Copy link
Contributor

olukas commented May 30, 2024

It makes more sense for examples of how to use Hazelcast to be backed by production-quality dependencies, i.e. a released version.

I disagree. If somebody wants to use some certain version of Hazelcast for code samples they should use related tag (for example https://github.com/hazelcast/hazelcast-code-samples/blob/v5.4.0/pom.xml#L19). If somebody decides to use master branch of code samples (which is latest version) they should use latest master (i.e. SNAPSHOT) of Hazelcast.

If we will use latest released Hazelcast version for code samples (instead of SNAPSHOT) it also means we cannot add a code samples for the new features from Hazelcast master branch since code samples doesn't use it.

I think that if latest SNAPSHOT is no longer publicly available then proper solution is to build Hazelcast locally (from master) before compiling code-samples.

@JackPGreen
Copy link
Contributor Author

It makes more sense for examples of how to use Hazelcast to be backed by production-quality dependencies, i.e. a released version.

I disagree. If somebody wants to use some certain version of Hazelcast for code samples they should use related tag (for example https://github.com/hazelcast/hazelcast-code-samples/blob/v5.4.0/pom.xml#L19). If somebody decides to use master branch of code samples (which is latest version) they should use latest master (i.e. SNAPSHOT) of Hazelcast.

The problem (I think) is that the default branch is master, so out-of-the-box, it won't build.

While you can use a tag to specify your targeted version (e.g. as per the docs), I don't think that's how any references to code-samples have been communicated to date (rather contrived example).

If we will use latest released Hazelcast version for code samples (instead of SNAPSHOT) it also means we cannot add a code samples for the new features from Hazelcast master branch since code samples doesn't use it.

We can, for EE features (as there is still a SNAPSHOT for those versions) - I've updated jet/wordcount-compute-isolation to support that. But obviously not as ideal as it was.

I think that if latest SNAPSHOT is no longer publicly available then proper solution is to build Hazelcast locally (from master) before compiling code-samples.

That would work for the PR builder (at the expense of execution time), but it wouldn't help new users.

One of my personal bugbears is when you try to evaluate a product and the samples/tutorial etc doesn't work out-of-the-box. And the fact that I got my first ever application running with Hazelcast in minutes was very nice.

@JackPGreen JackPGreen merged commit aaf3fbf into hazelcast:master Jun 11, 2024
2 checks passed
@JackPGreen JackPGreen deleted the roll-back-to-released-hazelcast-versionn branch June 11, 2024 09:20
JackPGreen added a commit to JackPGreen/hazelcast-code-samples that referenced this pull request Jul 9, 2024
In hazelcast#636, the Hazelcast version was downgraded from `5.5.0-SNAPSHOT` to `5.4.0` - but the config files' schemas are still referencing `5.5`.
JackPGreen added a commit that referenced this pull request Jul 10, 2024
[`SNAPSHOT` Hazelcast builds are no longer publicly
accessible](https://hazelcast.atlassian.net/browse/DI-100), which leads
to build failures - `code-samples` uses OS `5.5.0-SNAPSHOT` which isn't
accessible.

This artefact isn't required and instead be can be removed - only EE
needs to be `5.5.0-SNAPSHOT`.

Follow on from
#636.

[Slack
discussion](https://hazelcast.slack.com/archives/C07066ELRRD/p1719998723582069)
JackPGreen added a commit that referenced this pull request Jul 10, 2024
)

In #636, the
Hazelcast version was downgraded from `5.5.0-SNAPSHOT` to `5.4.0` - but
the config files' schemas are still referencing `5.5`.

Unlike #636,
these versions will not be upgraded by either Dependabot or the release
pipeline.

This isn't great, but - for code-samples at least - there is no effect
of an outdated (but still valid, released) schema version.
kwart added a commit to kwart/hazelcast-code-samples that referenced this pull request Jul 10, 2024
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

Successfully merging this pull request may close these issues.

4 participants