ipm icon indicating copy to clipboard operation
ipm copied to clipboard

Packages erroring on installation on v0.9 but not v0.7

Open isc-tleavitt opened this issue 1 year ago • 7 comments
trafficstars

Reviewing https://github.com/intersystems/ipm/actions/runs/8879408830 vs. baseline https://github.com/intersystems/ipm/actions/runs/8883338832 - install + test all packages with 4 or more released versions

  • [x] Many packages are having issues with the FileCopy resource processor not picking up the proper root directory, trying to load from the current working directory instead. This is definitely an IPM regression.

Non-lifecycle dependencies - these are cases where the class rename has caused issues:

  • [x] git-source-control (singleton, but I know there are more too; this one is mine) - covered in https://github.com/intersystems/git-source-control/pull/334
  • [x] zpm-generate-ui (%ZPM.PackageManager)
  • [x] zpmhub (unknown)
  • [ ] isc.ipm.js (also has a lifecycle parent class dependency that it hits first)

Lifecycle parent class dependencies:

  • [x] zapm
  • [x] zapm-addcmd
  • [x] zapm-editor

Other really random cases (possible IPM regressions):

  • [x] interoperability-for-money fails with: ERROR! Missing role :%DB_IRISAPP
  • [x] run-container-command-execution fails with: ERROR! Resource path '/usr/irissys/mgr/.modules/USER/run-container-command-execution/0.0.6/src/zrccx.xml' not found
  • [x] appmsw-forbid-oild-passwd fails with :/usr/irissys/mgr/.modules/USER/appmsw-forbid-old-passwd/1.0.4/src/PASSWORD.xml (possibly same root cause as run-container-command-execution)

isc-tleavitt avatar Apr 30 '24 16:04 isc-tleavitt

Latest run with all the v1 fixes (https://github.com/intersystems/ipm/actions/runs/8899744512) shows all the FileCopy cases to be fixed, all the other cases still present.

isc-tleavitt avatar Apr 30 '24 20:04 isc-tleavitt

Update: I've figured out the reason for zpmhub to fail. This is also caused by %ZPM -> IPM package rename. See https://github.com/banksiaglobal/zpmhub/blob/00ba0598fffe7bdbe03277dbd90c8ea700cdbb09/src/ZPMHUB/Setup.cls#L25

shuheng-liu avatar May 22 '24 18:05 shuheng-liu

Additionally, interoperability-for-money fails because of this line https://github.com/oliverwilms/interoperability-for-money/blob/074bb6bca3712b3a0e0bc7eba379244bc77d4d16/module.xml#L20.

isc-shuliu avatar May 22 '24 18:05 isc-shuliu

As for appmsw-forbid-old-passwd, it's likely that the module.xml is not properly parsed to get the src/mac/PASSWORD.mac file. Instead, it's trying to find the src/PASSWORD.xml file.

See https://github.com/SergeyMi37/appmsw-forbid-old-passwd/blob/5c906f250b31306ddb3425c2abfac418c5d52546/module.xml#L27

isc-shuliu avatar May 22 '24 19:05 isc-shuliu

I have opened PRs for zpm-generate-ui, zpmhub, zapm, zapm-editor.

The installation error will be fixed in zapm-addcmd once PR for zapm is merged.

As for interoperability-for-money, we have concluded that it never should have worked in v0.7 because of a naming conflict (%dbrole).

Finally, fixes for run-container-command-execution and appmsw-forbid-old-passwd have been merged into the v1 branch.

isc-shuliu avatar Jun 06 '24 19:06 isc-shuliu

Discussed today: we need to expand the packages CI workflow to cover all packages, which involves some rearchitecture. I'll file a separate issue for that.

isc-tleavitt avatar Jun 07 '24 18:06 isc-tleavitt

Found more cases of lifecycle class dependency (which motivated the expansion) - there are enough of these, and we don't want to require new releases of the packages involved. Strategy will be:

  • Break preload into separate load + compile steps
  • Between load and compile, detect classes that extend old lifecycle classes and dynamically update to use the new one.

This is a little messy but ultimately less work will be required and it's better for backward compatibility.

isc-tleavitt avatar Jun 17 '24 13:06 isc-tleavitt

Our part in this is done - closing.

isc-tleavitt avatar Aug 26 '24 13:08 isc-tleavitt