On Tue, Jun 8, 2021 at 3:04 PM Wainer dos Santos Moschetta <waine...@redhat.com> wrote: > > Hi, > > On 6/8/21 12:14 AM, Cleber Rosa wrote: > > To have the jobs dispatched to custom runners, gitlab-runner must > > be installed, active as a service and properly configured. The > > variables file and playbook introduced here should help with those > > steps. > > > > The playbook introduced here covers the Linux distributions and > > has been primarily tested on OS/machines that the QEMU project > > has available to act as runners, namely: > > > > * Ubuntu 20.04 on aarch64 > > * Ubuntu 18.04 on s390x > > > > But, it should work on all other Linux distributions. Earlier > > versions were tested on FreeBSD too, so chances of success are > > high. > > > > Signed-off-by: Cleber Rosa <cr...@redhat.com> > > --- > > docs/devel/ci.rst | 57 ++++++++++++++++++++++++++++ > > scripts/ci/setup/.gitignore | 1 + > > scripts/ci/setup/gitlab-runner.yml | 61 ++++++++++++++++++++++++++++++ > > scripts/ci/setup/vars.yml.template | 12 ++++++ > > 4 files changed, 131 insertions(+) > > create mode 100644 scripts/ci/setup/.gitignore > > create mode 100644 scripts/ci/setup/gitlab-runner.yml > > create mode 100644 scripts/ci/setup/vars.yml.template > > > > diff --git a/docs/devel/ci.rst b/docs/devel/ci.rst > > index 35c6b5e269..bbd89e54d7 100644 > > --- a/docs/devel/ci.rst > > +++ b/docs/devel/ci.rst > > @@ -56,3 +56,60 @@ To run the playbook, execute:: > > > > cd scripts/ci/setup > > ansible-playbook -i inventory build-environment.yml > > + > > +gitlab-runner setup and registration > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +The gitlab-runner agent needs to be installed on each machine that > > +will run jobs. The association between a machine and a GitLab project > > +happens with a registration token. To find the registration token for > > +your repository/project, navigate on GitLab's web UI to: > > + > > + * Settings (the gears like icon), then > > + * CI/CD, then > > + * Runners, and click on the "Expand" button, then > > + * Under "Set up a specific Runner manually", look for the value under > > + "Use the following registration token during setup" > > + > > +Copy the ``scripts/ci/setup/vars.yml.template`` file to > > +``scripts/ci/setup/vars.yml``. Then, set the > > +``gitlab_runner_registration_token`` variable to the value obtained > > +earlier. > > + > > +.. note:: gitlab-runner is not available from the standard location > > + for all OS and architectures combinations. For some systems, > > + a custom build may be necessary. Some builds are avaiable > > + at https://cleber.fedorapeople.org/gitlab-runner/ and this > > + URI may be used as a value on ``vars.yml`` > I think you can remove the information about the gitlab-running being > not available for some systems.
Good catch! > > + > > +To run the playbook, execute:: > > + > > + cd scripts/ci/setup > > + ansible-playbook -i inventory gitlab-runner.yml > > + > > +Following the registration, it's necessary to configure the runner tags, > > +and optionally other configurations on the GitLab UI. Navigate to: > > + > > + * Settings (the gears like icon), then > > + * CI/CD, then > > + * Runners, and click on the "Expand" button, then > > + * "Runners activated for this project", then > > + * Click on the "Edit" icon (next to the "Lock" Icon) > > + > > +Under tags, add values matching the jobs a runner should run. For a > > +Ubuntu 20.04 aarch64 system, the tags should be set as:: > > + > > + ubuntu_20.04,aarch64 > > Also users no longer need manually create the tags. > Of course. But, given that this is a general rule, and there may be OS/architectures for which Ansible may produce tag names one would not expect, I'll ask the user to double check the tags. The text I'm proposing on v7 is: Tags are very important as they are used to route specific jobs to specific types of runners, so it's a good idea to double check that the automatically created tags are consistent with the OS and architecture. For instance, an Ubuntu 20.04 aarch64 system should have tags set as:: ubuntu_20.04,aarch64 > Remaining of the file looks good to me. > Thanks a lot! - Cleber.