💾 Archived View for thebird.nl › gn-gemtext-threads › topics › CI-CD › utility-scripts.gmi captured on 2023-06-14 at 14:30:51. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Sometimes we need to run some utility scripts manually to set up certain things that do not render themselves to automation very well.
This is especially relevant for any script that might need to interact with the SQLite database.
This document notes some gotchas that you might run into trying to run
Start by getting a shell into the CI/CD container:
sudo guix container exec <PID> /run/current-system/profile/bin/bash --login
replacing =<PID>= with the process ID of the container.
Now stop GN3:
herd stop genenetwork3
In a separate terminal on the *host* system, change the owner of the directory
and file:
sudo chown -R fredm /export/data/genenetwork-sqlite
Now start a guix shell in the *genenetwork3* repository (on the host) and run
the utility script(s) you need to run:
$ cd /home/fredm/genenetwork3 $ guix shell --container --network --share=/export/data/genenetwork-sqlite \ --development --file=guix.scm [env] $ python3 -m scripts.register_sys_admin \ /export/data/genenetwork-sqlite/auth.db
Once you have run (all) the utility script(s) you needed to run, you can exit
the shell and restore the file user:
sudo chown -R guixbuilder13 /export/data/genenetwork-sqlite
now go back to the CI/CD container shell and restart genenetwork3:
herd start genenetwork3
then exit the shell.
Tried
mount --bind -o rw,umask=0002,gid=1000,uid=1000 \ /home/frederick/genenetwork/local-ci-cd/data/genenetwork-sqlite \ /home/frederick/genenetwork/ci-cd-container-dirs
but the file (and mount target) retain the original permissions.