Deployment issues (build-wheel)

Mornin,

I am attempting to move my development code to our test server (which is setup as a ‘prod’ environment).

Last time I did this (2.1.8) with your help I created a wheel file and then pip installed it into the test server and all was fine.

We are currently running 2.1.9 (with an upgrade to 2.1.11 planned) and I wish to again deploy to the test server.

I will be deploying over a 2.1.8 installation.

When I run build-wheel.py on my dev machine I get the following, and my dist folder is empty, and I cannot seem to find any wheel file - but it has aborted!!!

Can you offer any guidance / tell me where I have gone wrong / where the wheel file is please?

Many Thanks,

Mark.

P.S. I do notice when looking via eclipse workbench at src level I have a package-lock.json file with a question make beside it (i.e. not checked in anywhere) – may be red herring?? Or do I need to do something with this?

‘’’’
(env) [indico@dev-events02 src]$ ./bin/maintenance//build-wheel.py indico
building deps
Error: setup_deps failed
/opt/indico/dev/indico/src
npm WARN saveError ENOENT: no such file or directory, open ‘/opt/indico/dev/indico/src/package.json’
npm WARN enoent ENOENT: no such file or directory, open ‘/opt/indico/dev/indico/src/package.json’
npm WARN src No description
npm WARN src No repository field.
npm WARN src No README data
npm WARN src No license field.

  • grunt-cli@1.3.2
    updated 1 package and audited 5440 packages in 1.689s
    found 0 vulnerabilities

/bin/sh: line 0: cd: /opt/indico/dev/indico/src/ext_modules/dropzone: No such file or directory

Fatal error: local() encountered an error (return code 1) while executing ‘mkdir -p /opt/indico/dev/indico/src/indico/htdocs/js/lib/dropzone.js/ /opt/indico/dev/indico/src/indico/htdocs/css/lib/dropzone.js/’

Aborting.
Initializing submodules
[localhost] local: pwd
[localhost] local: git submodule init
[localhost] local: git submodule sync
[localhost] local: git submodule update --init --recursive
[localhost] local: which curl > /dev/null && echo ? [localhost] local: npm install grunt-cli --prefix (pwd)
Installing asset dependencies…
Installing dropzone.js
[localhost] local: mkdir -p /opt/indico/dev/indico/src/indico/htdocs/js/lib/dropzone.js/ /opt/indico/dev/indico/src/indico/htdocs/css/lib/dropzone.js/

(env) [indico@dev-events02 src]$
,

so - looking at the code and trying a few things, i have rerun with the --no-deps flag and i have a wheel file - will this be OK to export, or do i need to address the issue above???

um - it has only picked up SOME of my additional files / folders that I placed in the web directory.

It seems to be ignoring various files types - is there somewhere i can add these types or do i need to get then into the folder structure some other way?

will pip install load ALL files if they are in the wheel file, or is that also file type specific?

Check MANIFEST.in - that file determines which non-python files get included in the wheel.

cheers mate - got what i want in the wheel now - also by reading up on it i understart the sdist will also use the manifest for the pip install :slight_smile:

Hi - we are having a few issues with our pip install. We are trying to install 2.1.9 over 2.1.8 using a whl file - this is OK??? or do i need to go through some sort of upgrade process first on our TEST machine before i can 'pip install 2.1.9 with my changes ’

Install it using pip install /path/to/indico-whatever.whl. If you are staying within the same 2.x version you don’t need to do anything else besides restarting uwsgi and celery.

cheers - thanks for thaqt - the restart was the key :slight_smile: - we seem to be there now.

One final question if you don’t mind. We have a plugin which I have changed a html template and just saved it back to the .whl file. This messes up the .whl file, saving the html template as FAT with no attributes whereas is was originally unix with rw attributes, and the changed plugin will not install, where the original one will…

is there any way I can rebuild a plugin wheel with my changes in within the system?

a quick question.

We are going great here and installed a couple of plugins using the .whl files along with pip install.

IF we were to re-install the core package (i.e. 2.1.9 at the moment - we will be going to 2.1.11 as soon as we get all these deployment processes sorted) will I lose the plugin installs?

No, those packages are separate and will stay when updating indico.

Perfect - Cheers :slight_smile: