image: name: hashicorp/packer:light entrypoint: [""] variables: PACKER_LOG: 1 # enable detailed logging PACKER_VAR_FILE: "vars.pkrvars.hcl" 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: - "~/.config/packer" # Or your specific plugin path 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"