stages: - images - publish variables: FISHDEPS: "/usr/bin/guestfish /usr/bin/virt-sysprep /usr/bin/virt-sparsify xz sudo jq" KICKDEPS: "/usr/bin/virt-install" .store_images: &store_images - export LIBGUESTFS_BACKEND=direct - mkdir $CI_JOB_NAME - for image in *.qcow2; do test -f "$image" || continue virt-sysprep -a "$image"; virt-sparsify --inplace "$image"; info=${image%.qcow2}.info; qemu-img info --output=json $image > $info; mv --verbose $info $CI_JOB_NAME; done - xz --verbose $(ls *.tar *.qcow2) - mv --verbose *.xz $CI_JOB_NAME - (cd $CI_JOB_NAME; for info in *.info; do test -f "$info" || continue; ../scripts/make-index.sh $info; done) - name="$CI_JOB_NAME images" - base="$CI_JOB_URL/artifacts/raw/$CI_JOB_NAME" - tree -i -f -s -h -D --charset utf8 -T "$name" -H "$base" $CI_JOB_NAME > index.html - mv --verbose index.html $CI_JOB_NAME - ls -l -h $CI_JOB_NAME centos7: stage: images image: registry.gitlab.com/kraxel/rpm-package-builder:centos7 before_script: - time yum install -y $FISHDEPS script: - sed -i -e '/proxy/d' repos/centos-7.repo - time ./CentOS7-efi.sh - *store_images artifacts: paths: - centos7 centos8: stage: images image: registry.gitlab.com/kraxel/rpm-package-builder:centos8 before_script: - time dnf install -y $FISHDEPS script: - sed -i -e '/proxy/d' repos/centos-8.repo - time ./CentOS8-efi.sh - *store_images artifacts: paths: - centos8 fedora: stage: images image: registry.gitlab.com/kraxel/rpm-package-builder:fedora before_script: - time dnf install -y $FISHDEPS script: - time ./Fedora-efi-grub2.sh - *store_images artifacts: paths: - fedora fedora_systemd: stage: images image: registry.gitlab.com/kraxel/rpm-package-builder:fedora before_script: - time dnf install -y $FISHDEPS script: - time ./Fedora-efi-systemd.sh - *store_images artifacts: paths: - fedora_systemd fedora_kickstart: stage: images image: registry.gitlab.com/kraxel/rpm-package-builder:fedora when: manual before_script: - time dnf install -y $FISHDEPS $KICKDEPS script: - sudo systemctl start libvirtd - time ./kickstart/run-install.sh fedora-34-ks-x86_64.qcow2 https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ kickstart/fedora.ks - *store_images artifacts: paths: - fedora_kickstart wsl: stage: images image: registry.gitlab.com/kraxel/rpm-package-builder:fedora script: - sed -i -e '/proxy/d' repos/centos-8.repo - dnf install -y which - time ./Fedora-wsl.sh - time ./CentOS8-wsl.sh - *store_images artifacts: paths: - wsl pages: stage: publish image: registry.gitlab.com/kraxel/rpm-package-builder:fedora dependencies: - centos7 - centos8 - fedora - fedora_systemd - wsl script: - mkdir public - for d in centos7 centos8 fedora wsl; do mv -v ${d}/index.html public/${d}.html; done - cat pages/header.html > listing.html - cat pages/efi.html >> listing.html - cat public/*.html | grep "href.*qcow2.xz" >> listing.html - cat pages/wsl.html >> listing.html - cat public/*.html | grep "href.*tar.xz" >> listing.html - cat pages/footer.html >> listing.html - mv -v listing.html public/index.html - tree --charset utf8 -T "images" -H . public > tree.html - mv -v tree.html public artifacts: paths: - public/