[indico] Ci failure

I have managed to make indico install correctly and work as it should be on a test machine using this branch GitHub - YunoHost-Apps/indico_ynh at fix
but it fails ci tests : Update install by ericgaspar · Pull Request #2 · YunoHost-Apps/indico_ynh · GitHub

Assets  :
  - FAIL (code 404) https://sub.domain.tld/dist/css/common.c31173ad.css
  - https://sub.domain.tld/assets/i18n/fr_FR.js
Errors  :
    - Asset https://sub.domain.tld/dist/css/common.c31173ad.css (automatically derived from the page's html) answered with code 404, expected 200? Effective url: https://sub.domain.tld/dist/css/common.c31173ad.css

I can find these files in the right location, but i am not familiar with uwsgi or may be something that I have missed.
I followed the official guide with some recommandations from indico devs
It’s been days of testing till I got it working but I don’t know how to fix this last issue.
Thanks everyone

Is the test actually querying assets where they are supposed to be in your local deployment? It’s been reported ( anecdotically) that the test forgets to append ‘path’ in front of the requests.

In your local setup, when inspecting ‘Network’ tab while loading the page, are all of the requests ending in (eventual) HTTP/200?

The browser console is clean and in the network tab all of them are “200” except 3 that are “304” (not modified)


Can you tell what’s the full url for common.c31173ad.css in that network tab of yours ? is it https://sub.domain.tld/dist/css/common.c31173ad.css ? (That ‘dist/css’ thing sounds funky to me, could be a CI bug)

https://local.me/dist/css/common.c31173ad.css

local.me is a dummy local domain (defined in hosts)

On the CI, the nginx log state that open() "/var/www/indico/web/static/dist/css/common.c31173ad.css" failed (2: No such file or directory)

Does this file exist for you ?

root@local:~# ls -lha /var/www/indico/web/static/dist/css/common.c31173ad.css
-rw-r--r-- 1 indico www-data 49K 13 Nov 15:04 /var/www/indico/web/static/dist/css/common.c31173ad.css
root@local:~# ls -lha /var/www/indico
total 60K
drwxr-x---  9 indico www-data 4.0K 13 Nov 15:05 .
drwxr-xr-x+ 5 root   root     4.0K 13 Nov 14:57 ..
drwxr-xr-x  2 indico www-data 4.0K 13 Nov 15:00 archive
-rw-r--r--  1 indico www-data   42 13 Nov 15:00 .bashrc
drwxr-xr-x  2 indico www-data 4.0K 13 Nov 22:30 cache
-rw-------  1 indico www-data   46 13 Nov 15:00 .env
drwxr-xr-x  2 indico www-data 4.0K 13 Nov 15:05 etc
lrwxrwxrwx  1 indico www-data   15 13 Nov 15:04 .indico.conf -> etc/indico.conf
-rw-r--r--  1 indico www-data  281 13 Nov 15:05 indico.wsgi
drwxr-xr-x  2 indico www-data 4.0K 13 Nov 15:00 log
-rw-------  1 indico www-data 1.2K 13 Nov 15:00 logging.yaml
lrwxrwxrwx  1 indico www-data   68 13 Nov 15:05 static -> /var/www/indico/.venv/lib/python3.11/site-packages/indico/web/static
drwxr-xr-x  2 indico www-data 4.0K 13 Nov 15:00 tmp
-rw-------  1 indico www-data  645 13 Nov 15:00 uwsgi-indico.ini
drwxr-xr-x  6 indico www-data 4.0K 13 Nov 15:03 .venv
drwxr-xr-x  2 indico www-data 4.0K 13 Nov 22:21 web
  location ~ ^/(css|dist|images|fonts)/(.*)$ {
    alias __INSTALL_DIR__/web/static/$1/$2;
    access_log off;
  }

What user agent the is using in the ci tests?

Something like “curl” but i don’t see how that could be related

I really don’t know. But may be the app renders content differently depending on user agent. I can’t figure out why on browser there are no errors and the ci reports two files not found

I got help from one of the devs of indico.
It turns out that the latest version of indico requires python 3.12.2 at least. Using the default python version lead to an older and unsupported version of indico.
So I added a python_install function to the package for getting an alternate version of python on the server.
He also gave me some recommendations for the install script related to indico deployment.
Now the app installs and works correctly. I am waiting for the Ci tests to finish.
Thanks a lot for your support.