[08:37:57] I already tried quite a few varations. I think we need a senior full stack web dev with experience setting up web servers on Toolforge to come and take a look. [09:05:29] Hugo_Lz: what tool are you using? [09:05:35] (your tool name, so I can check) [09:06:36] btw. it might be easier to get help and track if you open a task with the details (tool, errors, how you start it, what you expect it to do, logs, etc.) [09:06:47] lingua-libre [09:09:14] https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/doc/toolforge-deployment.md?ref_type=heads [09:10:05] you are not using the build service right? [09:10:40] Wait, wat ? What build service ? [09:11:54] I created our own gitlab-ci.yml on our gitlab, which build there, then push that dist folder content to toolforge at : [09:11:55] ~/www/python/src/front-end/dist/ [09:12:18] https://wikitech.wikimedia.org/wiki/Help:Toolforge/Building_container_images [09:13:03] looking [09:13:22] you have many webservice shells open xd [09:14:05] Yes, possible. My top diagnosis is i do something wrong with web servers. [09:16:59] Back end was made by developpers who are not available at the moment. So I m now pushing to get Front end working so we can see a first demo. [09:17:09] the static files are being served correctly: https://lingua-libre.toolforge.org/favicon.ico [09:17:34] I think your config for the root might not be correct, where should it be pointing? (I'm not familiar with lingua-libre) [09:18:53] you mean the uswgi.ini is incorrect ? [09:19:25] maybe, this also replies, though it fails to render anything https://lingua-libre.toolforge.org/index.html (as in, it returns 200, and pulls some javascript, but shows a blank page) [09:22:02] I junior sor i do junior guesses there. I assume the front end file in `/dist/` should be served at https://lingua-libre.toolforge.org/index.html . But maybe it's messing with the backend API served at https://lingua-libre.toolforge.org/api/ (re @Hugo_Lz: I created our own gitlab-ci.yml on our gitlab: [09:22:02] - https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-...) [09:22:49] Yes, that, i dont understand that "it fails to render". (re @wmtelegram_bot: maybe, this also replies, though it fails to render anything https://lingua-libre.toolforge.org/index.html (as in, it re...) [09:27:00] I will investigate this now that you pointed it out. (re @wmtelegram_bot: https://wikitech.wikimedia.org/wiki/Help:Toolforge/Building_container_images) [09:28:09] So that means that the http server (uwsgi) is serving the files (index.html, *.css, *.js, ...) but when they run on the browser (executing js, or similar) then they fail to generate the page you expect [09:28:30] that points to a misconfiguration of sorts on the app side [09:29:58] So it would indicate the frontend code (js & config files) on gitlab are to modify. Not the Toolforge. Correct ? [09:30:50] maybe the uwsgi config, not sure [09:31:02] can I change a bit the uwsgi to do some tests? (and restart webservice and such) [09:31:18] also, was this working before? [09:31:38] Yes to that. That my diagnosis : routing is fine, but some rendering fails. Then where can i modify, fix, and unblock this ? (re @wmtelegram_bot: So that means that the http server (uwsgi) is serving the files (index.html, *.css, *.js, ...) but when they run on the ...) [09:31:47] What's the current production deployment address so you can compare? [09:32:08] Yes sure. I documented it all already. (re @wmtelegram_bot: can I change a bit the uwsgi to do some tests? (and restart webservice and such)) [09:32:46] Never worked on Toolforge, we are testing it. (re @wmtelegram_bot: also, was this working before?) [09:37:03] For reference the same Alpha code is served on Versel as an alternative test: - https://lingualibre-client.vercel.app/ [09:37:04] No need to login, the later steps dont work yet. (re @tuukkahastrup: What's the current production deployment address so you can compare?) [09:38:24] this seems like a step in the right direction: https://lingua-libre.toolforge.org/ [09:38:55] added `static-index = index.html` to the uwsgi.ini [09:39:39] Yes ! I think you solved it ! (re @wmtelegram_bot: this seems like a step in the right direction: https://lingua-libre.toolforge.org/) [09:39:49] Yes, index.html looked very empty here as well: https://lingualibre-client.vercel.app/index.html [09:40:34] it might be expecting to be called from the `/` url, instead of `/index.html`, and fails to render ok otherwise [09:41:09] It's rendering on toolforge and the backend API still work ! 🎉 https://lingua-libre.toolforge.org/api/locutors/1 (re @wmtelegram_bot: this seems like a step in the right direction: https://lingua-libre.toolforge.org/) [09:41:10] Exactly, and a 404 response missing when path is unhandled [09:42:25] Lots of errors though if you open that in the browser (re @Hugo_Lz: It's rendering on toolforge and the backend API still work ! 🎉 https://lingua-libre.toolforge.org/api/locutors/1) [09:42:33] Thank you both ! I struggles a few days around that bit. [09:43:23] Yes, a bit as expected. I will work on those. (re @tuukkahastrup: Lots of errors though if you open that in the browser) [09:43:41] Hugo_Lz: oh, I also changed `check-static = /data/project/lingua-libre/www/python/src/static/` to have the `/static/` at the end, otherwise you are serving your git repo (with all the files), not that too bad, but might not be what you want [09:44:57] Got it. [09:50:03] Hugo_Lz: happy toolforging! let me know if you find any more issues (I'll be glad to hear also if you are able to set it up!) [09:56:34] Yes. Beyond fixing this roadblock, i'm happy to now know there is an active support forum available. Thank again Dcaro. [14:49:37] !log lucaswerkmeister@tools-bastion-13 tools.stashbot bin/stashbot.sh restart [14:49:40] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.stashbot/SAL [15:23:17] !log tools hard-reboot tools-prometheus-6, not responding to ssh [15:23:22] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/SAL [16:28:13] tools-prometheus-6 did not come up after the reboot, apache is down [16:45:11] Thanks. I'm happy to help. It was a fun challenge to learn react js and finally get the tool to work in toolforge. (re @wmtelegram_bot: dpriskorn: I moved your tutorial and made some small changes to the first section. feel free to tweak it further and th...) [16:57:06] The url to the xml gives me output in xml. Seems to work AFAICS (re @OlafJanssenNL: Hi, did anyone else notice that the XML-output of the GLAMorous tool is broken? [16:57:07] The following call to GLAMorous seems to work f...) [17:01:48] Are you using a buildpack service? [17:01:49] In that case you are missing both a Procfile. Also you dont have a run script in https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/front-end/package.json [17:01:50] See https://wikitech.wikimedia.org/wiki/Help:Toolforge/Building_container_images/My_first_static_tool_using_Node.js for a guide I recently wrote. (re @Hugo_Lz: I used [Wikimedia Gitlab > Lingua Libre](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/tree/ma...) [17:04:12] NZ, this is how i deploy. (re @Hugo_Lz: I created our own gitlab-ci.yml on our gitlab: [17:04:13] - https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-...) [17:07:37] Interesting to deploy fron CI. 😀 [17:07:37] I use the buildservice and deploy manually. [17:07:38] I'm not sure if that works from a CI. (re @Hugo_Lz: @dpriskorn , this is how i deploy.) [17:08:51] It works, see . (Note: i have to update a few things there) [17:09:31] Our doc here. (re @Hugo_Lz: https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/doc/toolforge-deployment.md?ref_type=h...) [17:10:57] And CI there, the last two blocks. (re @Hugo_Lz: I created our own gitlab-ci.yml on our gitlab: [17:10:58] - https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-...) [17:14:01] I looked at https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/front-end/Dockerfile?ref_type=heads and based on that you could use the buildservice instead if you want. [17:14:20] Instead of pushing over SSH, another option is to trigger a webhook and pull the update from there: https://wikitech.wikimedia.org/wiki/Help:Toolforge/Auto-update_a_tool_from_GitHub/GitLab [17:14:56] Good to know, we do have docker too. (re @dpriskorn: I looked at https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/front-end/Dockerfile?ref_t...) [17:15:09] Are you guys going to Istanbul ? [17:16:56] My workflow for Wikidata topic Curator is: [17:16:56] 1) make some changes and push to git [17:16:58] 2) run the tests (I didn't bother with a CI yet) [17:16:59] 3) login to toolforge and run a 2 line update script that tells the buildservice to create a new image based on rhe latest commit and restart if successful. [17:17:20] The advantage with the build service is that your tool can have its own container image. The disadvantage is all the current limitations such as manual builds and deployments [17:17:30] Funny-ironical thing is... You wrote your tutorial on March 10th, I worked on that CI deployment on March 8th. 😳🤣 (re @dpriskorn: Are you using a buildpack service? [17:17:31] In that case you are missing both a Procfile. Also you dont have a run script in https://gitl...) [17:18:50] Like CI is one of the most important things to have (re @dpriskorn: My workflow for Wikidata topic Curator is: [17:18:50] 1) make some changes and push to git [17:18:52] 2) run the tests (I didn't bother with a CI yet)...) [17:19:17] And it bundle the npm modules/librairies within you docker ? 🥹😮‍💨 (re @dpriskorn: My workflow for Wikidata topic Curator is: [17:19:18] 1) make some changes and push to git [17:19:19] 2) run the tests (I didn't bother with a CI yet)...) [17:21:00] With the doc Dcaro & you NP sent me i got some reading to do. Maybe build service can help us. [17:25:26] I understand. Having read the link @tuukkahastrup shared above I'm probably going to implement CI and deployment via Github action ssh login to toolforge for my tool. [17:26:55] I can help you write a Procfile if you want. Is the Vue app static or dynamic? [17:26:55] I'm guessing the former because you just copy over the dist folder it seems. [17:36:46] I may have missed some news but I'm confused: "Roadmap: Some of the major planned features include: Push to deploy (task T341065, task T334587)" When I look at those tasks, both are closed so do we have push to deploy now (and the roadmap just needs an update)? [17:46:20] The issue about including a CI has been declined: https://phabricator.wikimedia.org/T36029 [17:46:20] Gitlab should trigger the Build Service to build any code and to trigger an external CI to run the tests, which should again trigger the Build Service to deploy on success? 😵‍💫 [18:02:09] tuukkahastrup: push to deploy is not yet there, but almost, we have it deployed in toolsbeta, and we are starting to plan some beta for it. Note that it only works for bulidservice based components (the ones that have to build an image) [18:02:45] one of the tasks you mentioned is a duplicate of T362075, the one we are using [18:02:45] T362075: [components-api] add one-off, scheduled and continuous jobs support to the yaml + api - https://phabricator.wikimedia.org/T362075 [18:03:06] and T194332 is the one for the push-to-deploy [18:03:06] T194332: [Epic,builds-api,components-api,webservice,jobs-api] Make Toolforge a proper platform as a service with push-to-deploy and build packs - https://phabricator.wikimedia.org/T194332 [18:34:15] This looks like something where the tests could be a job that needs to run before production is deployed? And could branch previews also be created as jobs? (re @wmtelegram_bot: T362075: [components-api] add one-off, scheduled and continuous jobs support to the yaml + api - https://phabricator....)