CMake mancante durante l'aggiunta di discourse-code-review, a volte

Questo sembra simile a ERROR: CMake is required to build Rugged, ma ho appena provato un bootstrap e ha fallito se non ho eseguito

  before_code:
    - exec:
        cd: $home
        cmd:
          - apt update
          - apt -y install cmake

Il fallimento è stato questo.

I, [2020-06-22T17:13:16.381492 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'    
ERROR:  Error installing rugged:
        ERROR: Failed to build gem native extension.            
                                                                                                           
    current directory: /var/www/discourse/plugins/discourse-code-review/gems/2.6.5/gems/rugged-0.28.4.1/ext/rugged
/usr/local/bin/ruby -I /usr/local/lib/ruby/site_ruby/2.6.0 -r ./siteconf20200622-21455-f9skgp.rb extconf.rb
checking for gmake... no                
checking for make... yes
checking for cmake... no
ERROR: CMake is required to build Rugged.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/local/bin/$(RUBY_BASE_NAME)
        --with-sha1dc
        --without-sha1dc
        --use-system-libraries

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /var/www/discourse/plugins/discourse-code-review/gems/2.6.5/extensions/x86_64-linux/2.6.0-static/rugged-0.28.4.1/mkmf.lo
g

extconf failed, exit code 1

Ma su un altro sistema sono riuscito ad aggiungere il plugin senza di esso. Entrambi sono abbastanza standard web_only.yml (quello rotto viene lanciato su Kubernetes, quello funzionante ha traefik come reverse proxy, ma non vedo come questo potrebbe influenzare l’esecuzione del bootstrap!).

Lascio questo messaggio nel caso in cui il mio workaround possa aiutare qualcun altro o qualcuno che sa qualcosa possa riconoscere qualcosa che dovrebbe essere modificato.

L’immagine più recente contiene già cmake installato. Sei bloccato su un’immagine vecchia? Un rebuild esegue l’aggiornamento.

Aha. rebuild esegue un aggiornamento, ma bootstrap no. E sull’altro sistema, avevo eseguito un rebuild più di recente per qualcosa. Questo spiega la cosa, e immagino che debba verificare che i miei bootstrap stiano eseguendo un git pull.