12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #! /bin/bash
- # This script is expecting an input of machine name, optionally followed by a
- # colon and a list of one or more parameters separated by commas between
- # brackets. For example, the following are acceptable:
- # corstone1000-mps3
- # fvp-base: [testimage]
- # qemuarm64-secureboot: [clang, glibc, testimage]
- # This argument should be quoted to avoid expansion and to be handled
- # as a single value.
- #
- # Any further arguments will be handled as further yml file basenames.
- #
- # Turn this list into a series of yml files separated by colons to pass to kas
- set -e -u
- # First, parse the GitLab CI job name (CI_JOB_NAME via $1) and accumulate a list
- # of Kas files.
- JOBNAME="$1"
- shift
- # The base name of the job
- FILES="ci/$(echo $JOBNAME | cut -d ':' -f 1).yml"
- # The list of matrix variations
- for i in $(echo $JOBNAME | cut -s -d ':' -f 2 | sed 's/[][,]//g'); do
- # Given that there are no yml files for gcc or glibc, as those are the
- # defaults, we can simply ignore those parameters. They are necessary
- # to pass in so that matrix can correctly setup all of the permutations
- # of each individual run.
- if [[ $i == 'none' ]]; then
- continue
- fi
- FILES+=":ci/$i.yml"
- done
- # Now pick up any further names
- for i in $*; do
- FILES+=":ci/$i.yml"
- done
- echo $FILES
|