image: name: hashicorp/packer:light entrypoint: [""] variables: PACKER_LOG: 1 # enable detailed logging PACKER_VAR_FILE: "vars.pkrvars.hcl" PACKER_CONFIG_DIR: $CI_PROJECT_DIR stages: - validate - build .parallel: parallel: matrix: - IMAGE: [ "flatcar" ] validate: extends: .parallel stage: validate variables: PACKER_WORKSPACE: images/$IMAGE script: - packer init $PACKER_WORKSPACE - packer fmt -check $PACKER_WORKSPACE - packer validate $PACKER_WORKSPACE cache: key: "packer-plugins" # Define a key for Packer plugins paths: - "$PACKER_CONFIG_DIR/.packer.d" build-image: extends: .parallel stage: build variables: PACKER_FILE: images/$IMAGE/image.pkr.hcl script: - | packer build \ $PACKER_FILE rules: - if: $CI_COMMIT_BRANCH == "main"