This Gitlab CI file .gitlab-ci.yml had fallen into disrepair and
disuse, so this revives it, syncs it with its Github counterpart
.github/workflows/test.yml, and adds a bit of extra functionality.
Now it does the functionality of running the three cl-quil tests
in a similar way to what's done in Github but differs a little
because more stuff needs be done in the Ubuntu Linux instance in
Gitlab vs. in Github. Both CI's run in something called
"ubuntu:latest", but Github's is a VM with a lot more commonly
needed deps preinstalled, e.g., git, whereas Gitlab runs on the
very stripped-down Docker ubuntu:latest container. Apart from
these setup differences, the testing code should be almost the
same, although Gitlab permits the use of the "extends:" directive,
which saves some repeated code.
This change also adds supports for the use of CA (certificate
authority) bundles, which is needed at some sites. We introduce a
new environment variable, QUILC_CA_BUNDLE. (The name is patterned
after other systems that handle CA bundles, e.g., CURL_CA_BUNDLE
for curl, etc.) If QUILC_CA_BUNDLE is set to a non-empty string,
it should be CA bundle data, as used by Ubuntu's
update-ca-certificates command. (See
https://manpages.ubuntu.com/manpages/xenial/man8/update-ca-certificates.8.html
for details.). We dump the text value of QUILC_CA_BUNDLE (possibly
an empty string) to the file named
/usr/local/share/ca-certificates/my-ca.crt and run command
update-ca-certificates. (If file is empty, it has no effect.)
Resolves issue #778: Gitlab YAML file doesn't work, out of sync with
Github counterpart
.gitlab-ci.yml
This Gitlab CI file .gitlab-ci.yml had fallen into disrepair and disuse, so this revives it, syncs it with its Github counterpart .github/workflows/test.yml, and adds a bit of extra functionality.
Now it does the functionality of running the three cl-quil tests in a similar way to what's done in Github but differs a little because more stuff needs be done in the Ubuntu Linux instance in Gitlab vs. in Github. Both CI's run in something called "ubuntu:latest", but Github's is a VM with a lot more commonly needed deps preinstalled, e.g., git, whereas Gitlab runs on the very stripped-down Docker ubuntu:latest container. Apart from these setup differences, the testing code should be almost the same, although Gitlab permits the use of the "extends:" directive, which saves some repeated code.
This change also adds supports for the use of CA (certificate authority) bundles, which is needed at some sites. We introduce a new environment variable, QUILC_CA_BUNDLE. (The name is patterned after other systems that handle CA bundles, e.g., CURL_CA_BUNDLE for curl, etc.) If QUILC_CA_BUNDLE is set to a non-empty string, it should be CA bundle data, as used by Ubuntu's update-ca-certificates command. (See https://manpages.ubuntu.com/manpages/xenial/man8/update-ca-certificates.8.html for details.). We dump the text value of QUILC_CA_BUNDLE (possibly an empty string) to the file named /usr/local/share/ca-certificates/my-ca.crt and run command update-ca-certificates. (If file is empty, it has no effect.)
Resolves issue #778: Gitlab YAML file doesn't work, out of sync with Github counterpart