You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
6. Follow the steps which are shown to you. During these steps you need to choose an executor, as well as a default docker image if you choose the docker executor.
244
244
- For the executor, choose "docker".
245
245
- For the default image, choose a basic Linux image like debian or alpine from dockerhub.
246
+
247
+
## Set up the ARC validation process
248
+
249
+
### Prerequisites:
250
+
- A valid administrator access token with the scope "API". Make sure to always keep it valid.
251
+
- Enabled Auto DevOps, preferably instance wide. You can find out how to do this [here](https://docs.gitlab.com/ee/topics/autodevops/#at-the-instance-level).
252
+
253
+
### Configuration
254
+
For the validation process to work, there are some additional configuration options and files required. First, a configuration file containing the following information is requiered.
255
+
256
+
```
257
+
# Admin token for the GitLab API
258
+
gitlab_token="<your_admin_token_here>"
259
+
260
+
# ARC registry (no need to specify)
261
+
arc_registry_token=""
262
+
arc_registry_endpoint=""
263
+
264
+
# DataHUB URL & API endpoint
265
+
CI_SERVER_URL="https://<your_gitlab_host>"
266
+
CI_API_V4_URL="${CI_SERVER_URL}/api/v4"
267
+
268
+
# Debugging: set to 1 to log hook execution in /var/log/datahub, 0 to disable.
269
+
HOOK_DEBUG=1
270
+
```
271
+
272
+
This configuration file is used to provide the acces token and the API endpoint to a script which is used to upload artifacts to GitLab repositories. It is also defines if debug logs should be keept. As this file needs to be accessible for the container, as well as a location to store the logs outside the container needs to be defined, the following addition need to be made to the docker compose file. In the following example, the configuration file mentioned is named "secrets.include". The directory containing the log files is named "datahub-logs"
There are different CI/CD pipelines available, all of which have different prerequisites and are triggered automatically.
283
+
284
+
#### Creation of arc.json
285
+
We start with the pipeline which is activated by default for all ARCs for which Auto DevOps is enabled. The purpose of this pipline is to create an arc.json file,
286
+
which will be stored in the package registry. This file is a machine digestible representation of the ISA file, which is used by numerous different DataPLANT tools.
287
+
This pipeline is triggered automatically when an ARC or repository is created, except when it is created from a template.
288
+
During execution of this pipeline, a new empty branch with the name "cqc" is created and a batch indicating that the pipline passed is shown in the
289
+
repository overview. This should always be the case since the pipeline is designed to never fail.
290
+
291
+
#### Validation packages
292
+
It is possible to validate if your ARC fullfils the ARC specification and is fit for publication through different platforms.
293
+
You can choose for which platform the ARC should be validated for by selecting the corresponding "validation package".
294
+
As of now there is only one validation package for invenio, but there will be more options in the future.
295
+
These packages can be selected by placing the following file in your ARC.
296
+
297
+
```
298
+
validation_packages:
299
+
- name: <package_name>
300
+
version: 1.0.0 # optional
301
+
- name: <package_name>
302
+
```
303
+
**Note:** The filepath for this file in your ARC has to be ".arc/validation_packages.yml"
304
+
305
+
When this file is present in your repository, the pipeline will be triggerd on each commit.
306
+
A job called "quality_report_generator" will be executed, which in turn will execute the trigger job "quality_report". This job will carry out one subprocess per specified validation package.
0 commit comments