Age | Commit message (Collapse) | Author |
|
We unite the genenetwork2 and genenetwork3 development servers into
a single Guix service. This unifies many of the configuration
settings and simplifies the configuration. Changes to the genenetwork3
repository also immediately reflect in the genenetwork2 continuous
deployment without guix-bioinformatics having to be updated.
* genenetwork-development.scm (<development-server-configuration>):
Delete type.
(<genenetwork-configuration>): New type.
(development-server-redeploy, development-server-activation,
genenetwork2-project, genenetwork2-shepherd-service,
genenetwork3-project, genenetwork3-shepherd-service): Delete
functions.
(genenetwork2-tests): Accept <genenetwork-configuration> object
instead of <forge-project> object.
(%genotype-files, %xapian-db-path,
%default-genenetwork2-configuration, genenetwork2-service-type,
%default-genenetwork3-configuration, genenetwork3-service-type):
Delete variables.
(genenetwork-projects, genenetwork2-cd-gexp, genenetwork3-cd-gexp,
genenetwork-shepherd-services): New functions.
(operating-system)[services]: Replace genenetwork2 and genenetwork3
services with the unified genenetwork service.
* genenetwork/development-helper.scm (genenetwork2-runner-gexp,
genenetwork3-runner-gexp): Delete functions.
|
|
* genenetwork-development.scm (genenetwork2-shepherd-service): Do not
expose xapian index.
(genenetwork3-shepherd-service): Expose xapian index.
* genenetwork/development-helper.scm (genenetwork2-runner-gexp): Do
not accept xapian index argument.
(genenetwork3-runner-gexp): Accept config file argument.
|
|
*
genenetwork-development.scm (dump-genenetwork-database-project)[repository]:
Use GitHub URI.
|
|
This was a typo.
* genenetwork-development.scm (genenetwork3-project)[ci-jobs]: Trigger
genenetwork2 using laminar, not shepherd.
|
|
* genenetwork-development.scm: Import (forge socket).
(operating-system)[services]: Use <forge-ip-socket> object to specify
webhook port.
|
|
* genenetwork-development.scm: Import (gnu build
linux-container), (gnu system file-systems) and (guix
least-authority).
(genenetwork2-shepherd-service, genenetwork3-shepherd-service):
Deprecate make-forkexec-constructor/container in favor of
least-authority-wrapper.
|
|
Since genenetwork2 depends on genenetwork3, updates to genenetwork3
should trigger the genenetwork2 tests.
* genenetwork-development.scm (genenetwork3-project): Trigger
genenetwork2 tests after genenetwork3 tests.
|
|
* genenetwork-development.scm (genenetwork2-project): Comment about
triggering of Mechanical Rob after genenetwork2 tests.
|
|
* genenetwork-development.scm (genenetwork2-shepherd-service): Convert
port number to string on the host, not on the build side.
|
|
So far, whenever genenetwork2 code needed the latest updates from
genenetwork3, the guix-bioinformatics channel had to be updated and
the development container had to be rebuilt. No more. From now on, the
latest genenetwork3 code will be pulled in at all times. The
development container need only be rebuilt when the dependencies of
genenetwork2 or genenetwork3 change. We may revisit this decision once
genenetwork2 and genenetwork3 are better decoupled and we have
semantically versioned releases.
* genenetwork-development.scm (genenetwork2-tests): Pull in latest
genenetwork3 when running genenetwork2 tests.
|
|
* genenetwork-development.scm (%xapian-db-path): New variable.
(genenetwork2-shepherd-service)[start]: Share %xapian-db-path with the
container.
(%default-genenetwork2-configuration)[runner]: Pass %xapian-db-path to
CD runner.
* genenetwork/development-helper.scm (genenetwork2-runner-gexp):
Accept xapian-db-path argument and set XAPIAN_DB_PATH environment
variable.
* genenetwork-development-deploy.sh: Expose
/export/data/genenetwork/xapian in the container.
|
|
* genenetwork-development.scm (genenetwork2-project)[ci-jobs]: Use
pytest instead of unittest.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
The upstream laminar package now uses git-fetch instead of
url-fetch. Hence, we must adapt our laminar template G-expression.
* genenetwork-development.scm (laminar-template-gexp): Copy
/src/resources/index.html from git source instead of extracting it
from a tarball.
|
|
* genenetwork-development.scm (laminar-template-gexp): Link to
continuous deployment from the navigation menu.
|
|
* genenetwork-development.scm (%genenetwork2-port): New variable.
(genenetwork2-project): Use %genenetwork2-port.
(development-server-reverse-proxy-server-block): New function.
(operating-system)[services]: Use %genenetwork2-port. Add reverse
proxy block for cd.genenetwork.org.
|
|
* genenetwork-development.scm (genenetwork2-tests): Use
%genenetwork3-port.
|
|
* genenetwork-development.scm (%webhook-port): New variable.
(laminar-server-reverse-proxy-server-block): Expose webhook under
/hooks/.
(operating-system)[services]: Use %webhook-port.
|
|
* genenetwork-development.scm (laminar-reverse-proxy-server-block):
Set host name of the laminar nginx server.
|
|
The guix channel is a dependency of the gn-bioinformatics
channel. Therefore, it is always implicitly present.
* genenetwork-development.scm (operating-system)[services]: Do not
list guix channel in CI published channels.scm.
|
|
The gn-gemtext-threads forge project does not need a website
directory. Its website is completely managed by the tissue service.
*
genenetwork-development.scm (gn-gemtext-threads-project)[website-directory]:
Remove.
|
|
* genenetwork-development.scm (%genenetwork-accounts): New variable.
(genenetwork2-shepherd-service, genenetwork3-shepherd-service): Run as
genenetwork user and group.
(genenetwork2-service-type, genenetwork3-service-type): Create
genenetwork user and group.
|
|
* genenetwork-development.scm: Add copyright line for Frederick
Muriuki Muriithi.
|
|
* genenetwork-development.scm (genenetwork2-shepherd-service,
genenetwork3-shepherd-service): Move log files into /var/log/cd.
* genenetwork-development-deploy.sh: Share /var/log/cd with host.
|
|
The urljoin function reduces a URL without a trailing slash to just
the base, e.g. "http://genenetwork.org/gn3-proxy" is reduced to
"http://genenetwork.org", which is not what we want.
* genenetwork-development.scm (genenetwork2-tests): Add trailing slash
to GN_PROXY_URL.
|
|
* genenetwork-development.scm (genenetwork3-shepherd-service): Map
mysqld socket into the container.
|
|
* genenetwork-development.scm (tissue-reverse-proxy-server-block):
Support URIs without the html extension.
|
|
* genenetwork-development-deploy.sh: Share tissue state directory with
container.
* genenetwork-development.scm: Do not import tissue from (gn packages
gemini). Import (forge tissue).
(<tissue-configuration>, <tissue-host>): Delete types.
(%tissue-accounts, tissue-service-type): Delete variables.
(gn-gemtext-threads-website, gn-gemtext-threads-index,
tissue-conf-gexp, tissue-shepherd-service): Delete functions.
(gn-gemtext-threads-project)[ci-jobs]: Use tissue pull in
gn-gemtext-threads job.
(tissue-reverse-proxy-server-block): Use default tissue state
directory and unix socket paths. Do not accept them as arguments.
(operating-system)[services]: Use new tissue-service-type
parameters. Update invocation of tissue-reverse-proxy-server-block.
* genenetwork/development-helper.scm (tissue-website-gexp,
tissue-index-gexp): Delete functions.
|
|
* genenetwork-development.scm (<tissue-configuration>)[address, port,
indexed-repository]: Delete fields.
[listen, hosts]: New fields.
* genenetwork-development.scm (<tissue-host>): New type.
(tissue-conf-gexp): New function.
(tissue-shepherd-service): Remove --address and --port
arguments. Compute and pass tissue.conf configuration file. Create
file system mappings for all hosts.
(operating-system)[services]: Use new tissue-configuration fields.
|
|
* genenetwork-development.scm: Import shadow from (gnu packages
admin).
(gn-gemtext-threads-index): New function.
(gn-gemtext-threads-project)[ci-jobs]: Add gn-gemtext-threads-index.
(<tissue-configuration>): New type.
(tissue-shepherd-service, tissue-reverse-proxy-server-block): New
function.
(%tissue-accounts, tissue-service-type): New variables.
(operating-system)[services]: Add tissue tissue service and reverse
proxy it.
* genenetwork/development-helper.scm (tissue-index-gexp): New
function.
|
|
tissue now uses libgit2 through guile-git and does not use the git CLI
tool.
* genenetwork-development.scm (gn-gemtext-threads-website): Remove
git-minimal from manifest.
* genenetwork/development-helper.scm (tissue-website-gexp): Remove
reassurance to git.
|
|
This was missed out in 96fb9608242254a1fc53bbd71168db4245458c8f.
* genenetwork-development.scm (dump-genenetwork-database):
Import (srfi srfi-26).
|
|
The --ignore-errors flag not only avoids printing triples, but also
actually ignores errors. What a surprise! ;-) As a result, rapper does
not stop invalid turtle files, and they end up erroring out when
uploaded to virtuoso.
* genenetwork-development.scm (dump-genenetwork-database): Send rapper
output to /dev/null instead of using --ignore-errors.
|
|
* genenetwork-development.scm (operating-system)[services]: In the
set-dump-genenetwork-database-export-directory-permissions service,
set ownership of directories in
%dump-genenetwork-database-export-directory too, not just the files.
|
|
* genenetwork-development.scm (laminar-reverse-proxy-server-block):
Disable laminar proxy buffering by passing the X-Accel-Buffering HTTP
header through.
|
|
* genenetwork/development-helper.scm (tissue-website-gexp): Reassure
git that the gn-gemtext-threads source directory is safe.
* genenetwork-development.scm (gn-gemtext-threads-website): Add
git-minimal to manifest.
|
|
* genenetwork-development.scm (laminar-template-gexp): Link to
channels.scm.
|
|
* genenetwork-development.scm: Import (gnu services web) and (guix
channels).
(channels-scm-gexp, laminar-reverse-proxy-server-block): New
functions.
(operating-system)[services]: Bind laminar service to 9089.
Add nginx service on 9090 to reverse proxy laminar.
|
|
* genenetwork-development.scm (laminar-template-gexp): Relabel issue
tracker link as "Issues".
|
|
* genenetwork-development.scm: Import tar from (gnu packages base) and
gzip from (gnu packages compression).
(laminar-template-gexp, install-laminar-template-gexp): New functions.
(operating-system)[services]: Add install-laminar-template service.
|
|
* genenetwork-development.scm (operating-system)[services]: Set title
of Laminar page to "GeneNetwork CI".
|
|
* genenetwork-development.scm (operating-system)[file-systems]: Remove
unnecessary root file system configuration.
|
|
* genenetwork-development.scm (dump-genenetwork-database-tests):
Remove graphviz from manifest.
|
|
* genenetwork-development.scm (dump-genenetwork-database): Add
gnu-make to manifest. Build scheme source files before dumping
database.
|
|
* genenetwork-development.scm: Import virtuoso-ose from (gnu packages
databases). Import guile-hashing from (gnu packages guile-xyz).
(dump-genenetwork-database): Add ccwl, guile-hashing, guile-libyaml,
guile-sparql and virtuoso-ose to manifest. Load dumped RDF into
virtuoso and visualize schema.
|
|
* genenetwork-development.scm: Import raptor2 from (gnu packages rdf).
(dump-genenetwork-database): Validate dumped RDF using rapper.
|
|
*
genenetwork-development.scm (%dump-genenetwork-database-export-directory):
New variable.
(dump-genenetwork-database): New function.
(dump-genenetwork-database-project)[ci-jobs]: Rename
dump-genenetwork-database job to dump-genenetwork-database-tests. Add
new dump-genenetwork-database job.
(operating-system): Add
set-dump-genenetwork-database-export-directory-permissions service.
|
|
|