1version: 1 2 3# Rules to match for a machine to qualify 4target: 5 id: '{{ ci_runner_id }}' 6 7timeouts: 8 9 first_console_activity: # This limits the time it can take to receive the first console log 10 minutes: {{ timeout_first_console_activity_minutes | default(0, true) }} 11 seconds: {{ timeout_first_console_activity_seconds | default(0, true) }} 12 retries: {{ timeout_first_console_activity_retries }} 13 14 console_activity: # Reset every time we receive a message from the logs 15 minutes: {{ timeout_console_activity_minutes | default(0, true) }} 16 seconds: {{ timeout_console_activity_seconds | default(0, true) }} 17 retries: {{ timeout_console_activity_retries }} 18 19 boot_cycle: 20 minutes: {{ timeout_boot_minutes | default(0, true) }} 21 seconds: {{ timeout_boot_seconds | default(0, true) }} 22 retries: {{ timeout_boot_retries }} 23 24 overall: # Maximum time the job can take, not overrideable by the "continue" deployment 25 minutes: {{ timeout_overall_minutes | default(0, true) }} 26 seconds: {{ timeout_overall_seconds | default(0, true) }} 27 retries: 0 28 # no retries possible here 29 30console_patterns: 31 session_end: 32 regex: >- 33 {{ session_end_regex }} 34{% if session_reboot_regex %} 35 session_reboot: 36 regex: >- 37 {{ session_reboot_regex }} 38{% endif %} 39 job_success: 40 regex: >- 41 {{ job_success_regex }} 42{% if job_warn_regex %} 43 job_warn: 44 regex: >- 45 {{ job_warn_regex }} 46{% endif %} 47 48# Environment to deploy 49deployment: 50 # Initial boot 51 start: 52 storage: 53 http: 54 - path: "/b2c-extra-args" 55 data: > 56 b2c.pipefail b2c.poweroff_delay={{ poweroff_delay }} 57 b2c.minio="gateway,{{ '{{' }} minio_url }},{{ '{{' }} job_bucket_access_key }},{{ '{{' }} job_bucket_secret_key }}" 58 b2c.volume="{{ '{{' }} job_bucket }}-results,mirror=gateway/{{ '{{' }} job_bucket }},pull_on=pipeline_start,push_on=changes,overwrite{% for excl in job_volume_exclusions %},exclude={{ excl }}{% endfor %},remove,expiration=pipeline_end,preserve" 59 {% for volume in volumes %} 60 b2c.volume={{ volume }} 61 {% endfor %} 62 b2c.run_service="--privileged --tls-verify=false --pid=host docker://{{ '{{' }} fdo_proxy_registry }}/gfx-ci/ci-tron/telegraf:latest" b2c.hostname=dut-{{ '{{' }} machine.full_name }} 63 b2c.run="-ti --tls-verify=false docker://{{ '{{' }} fdo_proxy_registry }}/gfx-ci/ci-tron/machine-registration:latest check" 64 b2c.run="-v {{ '{{' }} job_bucket }}-results:{{ working_dir }} -w {{ working_dir }} {% for mount_volume in mount_volumes %} -v {{ mount_volume }}{% endfor %} --tls-verify=false docker://{{ local_container }} {{ container_cmd | replace('"', '\\\"') }}" 65 kernel: 66{% if kernel_url %} 67 url: '{{ kernel_url }}' 68{% endif %} 69 70 # NOTE: b2c.cache_device should not be here, but this works around 71 # a limitation of b2c which will be removed in the next release 72 cmdline: > 73 SALAD.machine_id={{ '{{' }} machine_id }} 74 console={{ '{{' }} local_tty_device }},115200 75 b2c.cache_device=auto b2c.ntp_peer=10.42.0.1 76 b2c.extra_args_url={{ '{{' }} job.http.url }}/b2c-extra-args 77 {% if kernel_cmdline_extras is defined %} 78 {{ kernel_cmdline_extras }} 79 {% endif %} 80 81{% if initramfs_url %} 82 initramfs: 83 url: '{{ initramfs_url }}' 84{% endif %} 85 86{% if dtb_url %} 87 dtb: 88 url: '{{ dtb_url }}' 89{% endif %} 90