intersystems / ipm

InterSystems ObjectScript Package Manager
MIT License
27 stars 19 forks source link

can we mark a version as a pre-release #544

Open SCanzano opened 1 month ago

SCanzano commented 1 month ago

It looks like there is some discussion about pre-releases but I don't have clarity on how to define this and or what its behavior does. https://github.com/intersystems/ipm/issues/480

I would like to be able to mark a version as a pre-release. I would hope that when a user is in ZPM and do

install -v moduleName

It would skip any of the pre-release versions. I could still do

install -v moduleName specificVersion

to install a specific version including a pre-release version.

If I do install -v moduleName specificVersion and its a pre-released version and there are module dependencies it would pick any pre-release versions for the dependent modules.

The reason why I want to do this is I currently have rclib-studio 1.5.0 Versions: 1.5.0, 1.4.0, 1.0.1 rclib-system 1.5.0 Versions: 1.5.0, 1.4.0, 1.0.2, 1.0.0 rclib-unittest 1.5.0 Versions: 1.5.0, 1.4.0, 1.0.2, 1.0.1 rclib-wellbase 1.5.0 Versions: 1.5.0, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 1.0.1

1.4.0 is our GR Release and 1.5.0 is a module that is published but not expected to go to customer sites just yet.

if someone just does

install -v rclib-unittest

I'd like it to be able to skip 1.5.0 and install the highest non pre-release version, that being 1.4.0

isc-tleavitt commented 1 month ago

This is a matter of repo configuration - at least that's the design. Reviewing current behavior on 0.7.2 it doesn't work, though, so calling this a bug.

Suppose I update configuration for a zpm-registry repo named registry2 using: zpm "repo -n registry2 -prereleases 0 -snapshots 0"

I should see, in zpm "repo -list":

registry2
        Source:                 **********
        Enabled?                Yes
        Available?              Yes
        Use for Snapshots?      No
        Use for Prereleases?    No
        Is Read-Only?           No
        Deployment Enabled?     No

zpm "install registry2/package-with-only-snapshot-versions" or zpm "install registry2/package-with-only-prerelease-versions" should fail in this case, but they pick up the incorrect package version.

isc-tleavitt commented 1 month ago

IMO we should make sure this is fixed in v0.9.0

isc-tleavitt commented 3 weeks ago

Related issue in zpm-registry, which I reported back in 2022: https://github.com/intersystems-community/zpm-registry/issues/91

isc-tleavitt commented 1 week ago

The zpm-registry side is fixed in the latest release. IPM will be fixed in 0.9 via #560 or possibly in an upcoming 0.7 release if we have another one, via #561.