Greetings,

We have discussed it in the past and I'd like to share my experience
trying to run third-party tests on zuul-jobs.
My goal is to ensure zuul-jobs can run on CentOS system outside
of the openstack-infra resources.

Please find bellow a step by step documentation of my setup.

# Create a new tenant to prevent conflicts with openstack-infra/zuul-jobs
```yaml
- tenant:
   name: openstack.org
   source:
     softwarefactory-project.io:
       config-projects:
         - third-party-ci-config
       untrusted-projects:
         - third-party-ci-jobs
     openstack.org:
       untrusted-projects:
         - openstack-infra/zuul-jobs:
             exclude:
               - project
               - project-template
               - pipeline
```

# Define base jobs and projects in third-party-ci-config
```yaml
- job:
   name: base
   parent: null
   description: The base job not using openstack-infra/zuul-jobs roles
   pre-run: playbooks/base/pre.yaml
   post-run:
     - playbooks/base/post.yaml

- job:
   name: upstream-base
   parent: null
   description: The upstream-base job using zuul-jobs roles
   pre-run: playbooks/upstream-base/pre.yaml
   post-run:
     - playbooks/upstream-base/post-logs.yaml
   roles:
     - zuul: openstack-infra/zuul-jobs

- project:
   name: openstack-infra/zuul-jobs
   third-party-check:
     jobs:
       - test-basic-roles
       - test-job-unittests
   third-party-post:
     jobs:
       - test-base
```

# Define jobs in third-party-ci-jobs
```yaml
- job:
   name: test-base
   description: A job to test base playbook
   parent: upstream-base
   run: playbooks/test-base.yaml

- job:
   name: test-basic-roles
   description: A job to test prepare-workspace and emit-ara role
   parent: base
   run: playbooks/test-basic-roles.yaml

- job:
   name: test-job-unittests
   description: A job to test the unittests job
   parent: unittests
   run: playbooks/noop.yaml
```

Here is how the results looks like:
https://review.openstack.org/522261
And here is how it fail when there is an error in prepare-workspace:
https://review.openstack.org/522438

This CI configuration is defined by these repositories:
(which you are welcome to contribute using git review)
* https://softwarefactory-project.io/r/config  for the tenant
* https://softwarefactory-project.io/r/third-party-ci-config for config
* https://softwarefactory-project.io/r/third-party-ci-jobs for the jobs

Note that the CI is currently disabled because the unittests job is
failing without:
https://review.openstack.org/522255 and https://review.openstack.org/522261

TL;DR; Is it alright if we re-enable this CI and report those tests on
      zuul-jobs patchsets?

Cheers,
-Tristan

Attachment: pgp0Tf5qqM9qT.pgp
Description: PGP signature

_______________________________________________
OpenStack-Infra mailing list
OpenStack-Infra@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

Reply via email to