metanorma / pubid-ieee

PubID spec and implementation for IEEE deliverables
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Re-Release pubid-ieee #92

Closed opoudjis closed 1 year ago

opoudjis commented 1 year ago

@mico

You MUST synchronise the pubid-* dependencies of all released pubid gems, including testing them for alignment with each other. If you fail to do so, your releases are unusable by me, since the pubid versions conflict.

In https://github.com/metanorma/pubid-ieee/issues/87, you updated pubid-ieee to use a newer version of pubid-core. But that makes no difference to me, because pubid-ieee continues to use an old version of pubid-iso!!

You have just released pubid-ieee, but there remain conflicts between the latest versions of pubid-ieee and pubid-iso.

It turns out, as far as I can tell, that this is because the released version of pubid-ieee is missing some of the updates that made it compatible with pubid-iso.

~/Documents/Arbeit/upwork/ribose/metanorma-ieee[main] $ bundle update
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies......
Bundler could not find compatible versions for gem "pubid-iso":
  In Gemfile:
    metanorma-ieee was resolved to 1.0.10, which depends on
      pubid-ieee was resolved to 0.1.1, which depends on
        pubid-iso (~> 0.4.1)

    metanorma-ieee was resolved to 1.0.10, which depends on
      relaton-iso (~> 1.15.1) was resolved to 1.15.4, which depends on
        pubid-iso (~> 0.5.0)

Therefore https://github.com/metanorma/metanorma-ieee/issues/112 remains blocked.

When I recompile pubid-ieee locally from the latest github version, the incompatibility goes away, and that makes me strongly suspect that there is something wrong in how you have released the gem.

The code you have checked in has:

21:17:04 * ~/Documents/Arbeit/upwork/ribose/metanorma-ieee[main] $ ls -lR /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/ptotal 32e-0.1.1
-rw-r--r--  1 nickn  staff  1311 May 22 21:14 LICENSE.txt
-rw-r--r--  1 nickn  staff  4642 May 22 21:14 README.adoc
drwxr-xr-x  4 nickn  staff   128 May 22 21:14 lib
-rw-r--r--  1 nickn  staff  3977 May 22 21:14 update_codes.yaml

/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1/lib:
total 8
drwxr-xr-x  4 nickn  staff  128 May 22 21:14 pubid
-rw-r--r--  1 nickn  staff   30 May 22 21:14 pubid-ieee.rb

/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1/lib/pubid:
total 8
drwxr-xr-x  8 nickn  staff  256 May 22 21:14 ieee
-rw-r--r--  1 nickn  staff  220 May 22 21:14 ieee.rb

/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1/lib/pubid/ieee:
total 88
-rw-r--r--  1 nickn  staff    133 May 22 21:14 errors.rb
-rw-r--r--  1 nickn  staff   9665 May 22 21:14 identifier.rb
-rw-r--r--  1 nickn  staff  13213 May 22 21:14 parser.rb
-rw-r--r--  1 nickn  staff   1043 May 22 21:14 transformer.rb
-rw-r--r--  1 nickn  staff    964 May 22 21:14 type.rb
-rw-r--r--  1 nickn  staff     66 May 22 21:14 version.rb

When I recompile the code locally, I generate:

ls -lR /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1
total 32
-rw-r--r--  1 nickn  staff  1311 May 22 21:17 LICENSE.txt
-rw-r--r--  1 nickn  staff  4642 May 22 21:17 README.adoc
drwxr-xr-x  4 nickn  staff   128 May 22 21:17 lib
-rw-r--r--  1 nickn  staff  3977 May 22 21:17 update_codes.yaml

/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1/lib:
total 8
drwxr-xr-x  4 nickn  staff  128 May 22 21:17 pubid
-rw-r--r--  1 nickn  staff   30 May 22 21:17 pubid-ieee.rb

/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1/lib/pubid:
total 8
drwxr-xr-x  9 nickn  staff  288 May 22 21:17 ieee
-rw-r--r--  1 nickn  staff  443 May 22 21:17 ieee.rb

/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1/lib/pubid/ieee:
total 72
-rw-r--r--  1 nickn  staff    133 May 22 21:17 errors.rb
drwxr-xr-x  3 nickn  staff     96 May 22 21:17 identifier
-rw-r--r--  1 nickn  staff   1218 May 22 21:17 identifier.rb
-rw-r--r--  1 nickn  staff  13501 May 22 21:17 parser.rb
-rw-r--r--  1 nickn  staff   1210 May 22 21:17 transformer.rb
-rw-r--r--  1 nickn  staff    964 May 22 21:17 type.rb
-rw-r--r--  1 nickn  staff     66 May 22 21:17 version.rb

/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pubid-ieee-0.1.1/lib/pubid/ieee/identifier:
total 24
-rw-r--r--  1 nickn  staff  9260 May 22 21:17 base.rb

The released gem is missing the file lib/pubid/ieee/identifier/base.rb , and I believe the released version is missing at least some of the updates from https://github.com/metanorma/pubid-ieee/pull/88 . So the released code is not in sync with the checkin that it is supposed to reflect.

Please release a new version of pubid-ieee as soon as possible. And please institute some sort of testing regimen so that I am not having to end up repeatedly debugging dependencies between pubid-ieee, pubid-iso, and pubid-core

mico commented 1 year ago

@opoudjis I cannot reproduce the issue. For latest metanorma-ieee in gemspec I uncommented:

  spec.add_dependency "pubid-ieee", "~> 0.1.1"
  spec.add_dependency "pubid-iso", "~> 0.5.3"
  spec.add_dependency "relaton-iso", "~> 1.15.4"

And run bundle install, all gems were successfully installed without conflicts. Could you create a pull request with falling dependencies, so I can debug the issue?

opoudjis commented 1 year ago

I don't know what has changed, but I am not getting the error any more; it may be that releasing other gems has resolved different dependency issues.