summaryrefslogtreecommitdiffstats
path: root/scripts/distro-manifest-generator.sh
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-12-15 17:47:49 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-12-17 11:06:53 +0000
commit56d7526475873c456f3155d680789af03a4c9e73 (patch)
tree5a23d51f07a8f2fd3ce68e87d17c235f80521021 /scripts/distro-manifest-generator.sh
parentad33e7ade89339278ec3ced3e15d5494c9de9d94 (diff)
agl-compositor_git: SRCREV bump
To pick up the latest fix for agl-compositor. It's a simple fix for setting up applications on different outputs. Change-Id: I63118c793faf0e7a4e68bfd15719c6939cca964d Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29538 ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Tested-by: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'scripts/distro-manifest-generator.sh')
0 files changed, 0 insertions, 0 deletions
08800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
# releng-scripts
---
This is an AGL job generation tool for [LAVA](https://staging.validation.linaro.org/static/docs/v2/).\
It is written in Python and uses jinja2 templates to generate yaml job files
following the LAVA specifications.

This tool **only** generates jobs. It does not provide a way for submitting jobs to a LAVA server.\
Please refer to the lava-tool [documentation](https://validation.linaro.org/static/docs/v2/lava-tool.html)
for submitting jobs.

## Prerequisites
- Python >= 2.7.1
- jinja >= 2.9
    - You can check if a version is/was installed with pip using: ```pip show jinja2```
    - If the version is too old, you can update it using: ```sudo pip install --upgrade jinja2```

## Usage instructions
The repo contains several tools that are located in the "./utils" folder.\
Following is a list of the available tools:
- `job-prereq.py` a tool that prints the binary packages needed to create a LAVA jobs
- `create-jobs.py` a tool for generating lava job templates from binary packages hosted on the web

### `job-prereq.py`
Command line tool that prints the packages needed by LAVA to execute a test job.

#### Required arguments:
- `--machine`
    - Available machine names: ```{dra7xx-evm,qemux86-64,m3ulcb,raspberrypi3,intel-corei7-64}```
        - For an up to date list of machine names run: ```./utils/create-jobs.py --help```
- `--build-type`
    - Needs three arguments formatted as follow: `{build-type-name,branch,version/build-type-name,changeid,patchset}`.
        - the build `build-type-name` must be one of: ci, daily, weekly, release.
        - the build `branch` or `changeid` must be a branch name.
        - the build `changeid` must be a changeid number.
        - the build `version` must be the version.
        - the build `patchset` must be the patchset number.

#### Optionnal arguments
- `--dtb`
    - prints to stdout the needed `dtb` package name to create this specific LAVA job definition.
- `--kernel`
    - prints to stdout the needed `kernel` package name to create this specific LAVA job definition.
- `--initrd`
    - prints to stdout the needed `ramdisk` package name to create this specific LAVA job definition.
- `--nbdroot`
    - prints to stdout the needed `root file system` package name to create this specific LAVA job definition.

Exception: if the machine is `qemux86-64` only `--kernel` and `--initrd` optionnal arguments are available. As qemu LAVA jobs do not need a `dtb` or `nbdroot`.

_Examples:_
```bash
./utils/job-prereq.py --machine qemux86-64 --build-type {ci,11524,2} --kernel --initrd
./utils/job-prereq.py --machine raspberrypi3 --build-type {release,eel,v4.9.3} --kernel --initrd --nbdroot --dtb
./utils/job-prereq.py --machine m3ulcb --build-type {daily,eel,v4.9.3} --kernel --dtb
./utils/job-prereq.py --machine dra7xx-evm --build-type {ci,11524,2} --initrd --nbdroot
./utils/job-prereq.py --machine intel-corei7-64 --build-type {ci,11524,2} --kernel --initrd --nbdroot
```


### `create-jobs.py`
Command line tool to generate AGL jobs for LAVA.

##### Required arguments:
- ```./utils/create-jobs.py --machine machine-name```
    - Available machine names: ```{dra7xx-evm,qemux86-64,m3ulcb,raspberrypi3,intel-corei7-64}```
    - For an up to date list of machine names run: ```./utils/create-jobs.py --help```

##### Artifacts fetching from URL:
Amongst other things, this tool is used to generate URLs for fetching build artifacts from specific locations.\
The default location is: https://download.automotivelinux.org/AGL/\
The default build is dab version 4.0.2

The user can override these defaults using the command line:
- ```--url <release, daily, ci or http://my-custom-url....>```
    - Available url options and their corresponding URL:
        - release: https://download.automotivelinux.org/AGL/release/
        - daily: https://download.automotivelinux.org/AGL/snapshots/
        - ci: https://download.automotivelinux.org/AGL/upload/ci/

If using the url argument the user has to specify other arguments depending on the url:
- release: ```--branch and --version```
- daily: ```--branch and --version```
- ci: ```--changeid and --patchset```

If using a custom url these argument are not used and should not be set. The tool will suppose that the custom url points directly to build artifacts for the target machine.

_Examples:_
```bash
./utils/create-jobs.py --machine m3ulcb
./utils/create-jobs.py --machine qemux86-64
./utils/create-jobs.py --machine intel-corei7-64
./utils/create-jobs.py --build-type release --branch eel --version 4.99.1 --machine m3ulcb
./utils/create-jobs.py --build-type release --branch eel --version 4.99.1 --machine qemux86-64
./utils/create-jobs.py --build-type daily --branch master --version latest --machine m3ulcb
./utils/create-jobs.py --build-type daily --branch master --version latest --machine raspberrypi3
./utils/create-jobs.py --build-type ci --changeid 13079 --patchset 1 --machine raspberrypi3
./utils/create-jobs.py --build-type ci --changeid 13079 --patchset 1 --machine m3ulcb
./utils/create-jobs.py --url http://baylibre.com/pub/agl/ci/raspberrypi3 --machine raspberrypi3
./utils/create-jobs.py --url http://baylibre.com/pub/agl/ci/raspberrypi3 --build-type release --machine raspberrypi3
```
The full list of arguments with default values is available using the helper:\
`$ ./utils/create-jobs.py --help`

##### Add tests to a job
To add tests to a job description please refer to the specific documentation: [releng-scripts-folder]/doc/test-documentation.md