Robox Validate #871
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Robox Validate | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '0 12 * * *' | |
jobs: | |
Build: | |
runs-on: ubuntu-20.04 | |
env: | |
LANG: en_US.UTF-8 | |
LANGUAGE: en_US:en | |
LC_ALL: en_US.UTF-8 | |
steps: | |
- uses: actions/checkout@master | |
- name: Increase Limits | |
run: | | |
sudo sysctl -q vm.overcommit_ratio=100 | |
sudo sysctl -q net.unix.max_dgram_qlen=64 | |
sudo prlimit --pid $$ --nproc=65536:65536 | |
sudo prlimit --pid $$ --nofile=500000:500000 | |
printf "DefaultLimitNPROC=65536:65536\n" | sudo tee -a /etc/systemd/user.conf > /dev/null || exit 1 | |
printf "DefaultLimitNPROC=65536:65536\n" | sudo tee -a /etc/systemd/system.conf > /dev/null || exit 1 | |
printf "DefaultLimitNOFILE=500000:500000\n" | sudo tee -a /etc/systemd/user.conf > /dev/null || exit 1 | |
printf "DefaultLimitNOFILE=500000:500000\n" | sudo tee -a /etc/systemd/system.conf > /dev/null || exit 1 | |
sudo systemctl daemon-reload | |
systemctl --user daemon-reload | |
- name: Increase Swap | |
run: | | |
sudo dd if=/dev/zero of=/swap bs=1M count=4096 status=none | |
sudo chmod 600 /swap | |
sudo mkswap /swap | |
sudo swapon /swap | |
- name: Install Dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
DEBCONF_NONINTERACTIVE_SEEN: true | |
run: | | |
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - | |
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | |
sudo apt-get update | |
sudo apt-get --assume-yes install packer | |
- name: Validate Generic Box Configurations | |
env: | |
GOGC: 50 | |
PACKER_LOG: 1 | |
GOMAXPROCS: 1 | |
VERSION: 1.0.0 | |
run: | | |
date +"%nStarting generic box validation at %r on %x%n" | |
sudo prlimit --pid $$ --nproc=65536:65536 | |
sudo prlimit --pid $$ --nofile=500000:500000 | |
export PACKER_LOG_PATH=generic-docker.txt ; packer validate generic-docker.json &>> packer-validate.txt && printf "File + generic-docker.json\n" || { printf "File - generic-docker.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=generic-hyperv.txt ; packer validate generic-hyperv.json &>> packer-validate.txt && printf "File + generic-hyperv.json\n" || { printf "File - generic-hyperv.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=generic-libvirt.txt ; packer validate generic-libvirt.json &>> packer-validate.txt && printf "File + generic-libvirt.json\n" || { printf "File - generic-libvirt.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=generic-parallels.txt ; packer validate generic-parallels.json &>> packer-validate.txt && printf "File + generic-parallels.json\n" || { printf "File - generic-parallels.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=generic-virtualbox.txt ; packer validate generic-virtualbox.json &>> packer-validate.txt && printf "File + generic-virtualbox.json\n" || { printf "File - generic-virtualbox.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=generic-vmware.txt ; packer validate generic-vmware.json &>> packer-validate.txt && printf "File + generic-vmware.json\n" || { printf "File - generic-vmware.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=generic-libvirt-x32.txt ; packer validate generic-libvirt-x32.json &>> packer-validate.txt && printf "File + generic-libvirt-x32.json\n" || { printf "File - generic-libvirt-x32.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=generic-virtualbox-x32.txt ; packer validate generic-virtualbox-x32.json &>> packer-validate.txt && printf "File + generic-virtualbox-x32.json\n" || { printf "File - generic-virtualbox-x32.json\n" ; exit 1 ; } | |
date +"%nFinished generic box validation at %r on %x%n" | |
- name: Validate Magma Box Configurations | |
env: | |
GOGC: 50 | |
PACKER_LOG: 1 | |
GOMAXPROCS: 1 | |
VERSION: 1.0.0 | |
run: | | |
date +"%nStarting magma box validation at %r on %x%n" | |
sudo prlimit --pid $$ --nproc=65536:65536 | |
sudo prlimit --pid $$ --nofile=500000:500000 | |
export PACKER_LOG_PATH=magma-docker.txt ; packer validate magma-docker.json &>> packer-validate.txt && printf "File + magma-docker.json\n" || { printf "File - magma-docker.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=magma-hyperv.txt ; packer validate magma-hyperv.json &>> packer-validate.txt && printf "File + magma-hyperv.json\n" || { printf "File - magma-hyperv.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=magma-libvirt.txt ; packer validate magma-libvirt.json &>> packer-validate.txt && printf "File + magma-libvirt.json\n" || { printf "File - magma-libvirt.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=magma-virtualbox.txt ; packer validate magma-virtualbox.json &>> packer-validate.txt && printf "File + magma-virtualbox.json\n" || { printf "File - magma-virtualbox.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=magma-vmware.txt ; packer validate magma-vmware.json &>> packer-validate.txt && printf "File + magma-vmware.json\n" || { printf "File - magma-vmware.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=developer-hyperv.txt ; packer validate developer-hyperv.json &>> packer-validate.txt && printf "File + developer-hyperv.json\n" || { printf "File - developer-hyperv.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=developer-libvirt.txt ; packer validate developer-libvirt.json &>> packer-validate.txt && printf "File + developer-libvirt.json\n" || { printf "File - developer-libvirt.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=developer-ova.txt ; packer validate developer-ova.json &>> packer-validate.txt && printf "File + developer-ova.json\n" || { printf "File - developer-ova.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=developer-virtualbox.txt ; packer validate developer-virtualbox.json &>> packer-validate.txt && printf "File + developer-virtualbox.json\n" || { printf "File - developer-virtualbox.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=developer-vmware.txt ; packer validate developer-vmware.json &>> packer-validate.txt && printf "File + developer-vmware.json\n" || { printf "File - developer-vmware.json\n" ; exit 1 ; } | |
date +"%nFinished magma box validation at %r on %x%n" | |
- name: Validate Lineage Box Configurations | |
env: | |
GOGC: 50 | |
PACKER_LOG: 1 | |
GOMAXPROCS: 1 | |
VERSION: 1.0.0 | |
run: | | |
date +"%nStarting lineage box validation at %r on %x%n" | |
sudo prlimit --pid $$ --nproc=65536:65536 | |
sudo prlimit --pid $$ --nofile=500000:500000 | |
export PACKER_LOG_PATH=lineage-hyperv.txt ; packer validate lineage-hyperv.json &>> packer-validate.txt && printf "File + lineage-hyperv.json\n" || { printf "File - lineage-hyperv.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=lineage-libvirt.txt ; packer validate lineage-libvirt.json &>> packer-validate.txt && printf "File + lineage-libvirt.json\n" || { printf "File - lineage-libvirt.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=lineage-virtualbox.txt ; packer validate lineage-virtualbox.json &>> packer-validate.txt && printf "File + lineage-virtualbox.json\n" || { printf "File - lineage-virtualbox.json\n" ; exit 1 ; } | |
export PACKER_LOG_PATH=lineage-vmware.txt ; packer validate lineage-vmware.json &>> packer-validate.txt && printf "File + lineage-vmware.json\n" || { printf "File - lineage-vmware.json\n" ; exit 1 ; } | |
date +"%nFinished lineage box validation at %r on %x%n" | |
- name: Validate Cache Configuration | |
env: | |
GOGC: 50 | |
PACKER_LOG: 1 | |
GOMAXPROCS: 1 | |
VERSION: 1.0.0 | |
run: | | |
date +"%nStarting cache box validation at %r on %x%n" | |
sudo prlimit --pid $$ --nproc=65536:65536 | |
sudo prlimit --pid $$ --nofile=500000:500000 | |
export PACKER_LOG_PATH=packer-cache.txt ; packer validate packer-cache.json &>> packer-validate.txt && printf "File + packer-cache.json\n" || { printf "File - packer-cache.json\n" ; exit 1 ; } | |
date +"%nFinished Cache box validation at %r on %x%n" | |
- name: Archive Log Files | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: validate-logs | |
retention-days: 14 | |
path: | | |
packer-validate.txt | |
generic-docker.txt | |
generic-hyperv.txt | |
generic-libvirt.txt | |
generic-parallels.txt | |
generic-virtualbox.txt | |
generic-vmware.txt | |
generic-virtualbox-x32.txt | |
generic-libvirt-x32.txt | |
magma-docker.txt | |
magma-hyperv.txt | |
magma-libvirt.txt | |
magma-virtualbox.txt | |
magma-vmware.txt | |
developer-hyperv.txt | |
developer-libvirt.txt | |
developer-ova.txt | |
developer-virtualbox.txt | |
developer-vmware.txt | |
lineage-hyperv.txt | |
lineage-libvirt.txt | |
lineage-virtualbox.txt | |
lineage-vmware.txt | |
packer-cache.txt |