Files
vms/.gitlab-ci.yml
T
2023-12-20 04:36:11 +00:00

58 lines
1.1 KiB
YAML

stages:
- generate
- lint
- trigger
generate:
stage: generate
artifacts:
paths:
- distros/**/*.pkrvars.hcl
script: |-
for vars in $(find distros/ -name '*.pkrvars.hcl.sh'); do
"./${vars}"
done
validate:
stage: lint
needs:
- generate
cache:
paths:
- /var/lib/gitlab-runner/.config/packer/plugins/
script: |-
set -exo pipefail
packer init sources
for vars in $(find distros/ -name '*.pkrvars.hcl'); do
packer validate -except=upload -var-file=${vars} sources/
done
shell:
stage: lint
script: |-
shellcheck --version
shellcheck $(find . -name '*.sh')
distros:
stage: generate
artifacts:
reports:
dotenv: build.env
paths:
- .gitlab-ci-build.yml
script: |-
python3 -m venv venv
source venv/bin/activate
pip install -U xonsh PyYAML
xonsh ./build.xsh -a --list
echo "BUILD=$(date +'%Y.%m.%d.%H')" >> build.env
trigger:
stage: trigger
trigger:
include:
- artifact: .gitlab-ci-build.yml
job: distros
variables:
PARENT_PIPELINE_ID: $CI_PIPELINE_ID