diff --git a/.github/workflows/apt.yml b/.github/workflows/apt.yml index a9ac5aad8..6a6bf25cb 100644 --- a/.github/workflows/apt.yml +++ b/.github/workflows/apt.yml @@ -95,7 +95,7 @@ jobs: test: name: Test needs: build - runs-on: macos-latest + runs-on: ubuntu-latest strategy: fail-fast: false matrix: @@ -112,5 +112,5 @@ jobs: - uses: actions/download-artifact@master with: name: packages-apt-source-${{ matrix.distribution }} - - name: Run Test + - name: Run Test run: fluent-package/apt/systemd-test/test.sh ${{ matrix.distribution }} diff --git a/.github/workflows/yum.yml b/.github/workflows/yum.yml index a459e91a4..8dceeea63 100644 --- a/.github/workflows/yum.yml +++ b/.github/workflows/yum.yml @@ -92,7 +92,7 @@ jobs: test: name: Test needs: build - runs-on: macos-latest + runs-on: ubuntu-latest strategy: fail-fast: false matrix: diff --git a/fluent-package/apt/systemd-test/test.sh b/fluent-package/apt/systemd-test/test.sh index 4b06b6c97..141e0009b 100755 --- a/fluent-package/apt/systemd-test/test.sh +++ b/fluent-package/apt/systemd-test/test.sh @@ -7,14 +7,28 @@ if [ -z $1 ]; then fi vm=$1 -dir="/vagrant/fluent-package/apt/systemd-test" +dir="/host/fluent-package/apt/systemd-test" -vagrant status $vm | grep -E "^${vm}\s+not created (.*)$" -if [ $? -ne 0 ]; then - echo "Error: The VM already exists. Need to destroy it in advance with the following command." - echo "$ vagrant destroy $vm" - exit 1 -fi +lxc image list images + +case $vm in + debian-bullseye) + image="images:debian/11" + ;; + debian-bookworm) + image="images:debian/12" + ;; + ubuntu-focal) + image="ubuntu:20.04" + ;; + ubuntu-jammy) + image="ubuntu:20.04" + ;; + *) + echo "Error: No mapping to lxc images." + exit 1 + ;; +esac set -eu @@ -32,24 +46,22 @@ fi for apt_repo_type in local v5 lts; do echo -e "\nRun test: $apt_repo_type\n" - vagrant up $vm - vagrant ssh $vm -- $dir/setup.sh - vagrant ssh $vm -- $dir/install-newly.sh $apt_repo_type - vagrant destroy -f $vm + lxc launch $image target + lxc config device add target host disk source=$PWD path=/host + lxc exec target -- $dir/setup.sh + lxc exec tartet -- $dir/install-newly.sh $apt_repo_type + lxc stop target + lxc delete target done for test_filename in ${test_filenames[@]}; do echo -e "\nRun test: $test_filename\n" - vagrant up $vm - vagrant ssh $vm -- $dir/setup.sh - vagrant ssh $vm -- $dir/$test_filename - vagrant destroy -f $vm - # I want to use snapshot instead of destorying it for every test, - # but somehow, it will be often an error on GitHub Actions... - # $ vagrant ssh $vm -- $dir/setup.sh - # $ vagrant snapshot save -f $vm after-setup - # (execute a test) - # $ vagrant snapshot restore $vm after-setup + lxc launch $image target + lxc config device add target host disk source=$PWD path=/host + lxc exec target -- $dir/setup.sh + lxc exec tartet -- $dir/$test_filename + lxc stop target + lxc delete target done echo -e "\nAll Success!\n" diff --git a/fluent-package/yum/systemd-test/test.sh b/fluent-package/yum/systemd-test/test.sh index f254cea5b..cba3af651 100755 --- a/fluent-package/yum/systemd-test/test.sh +++ b/fluent-package/yum/systemd-test/test.sh @@ -1,20 +1,37 @@ #!/bin/bash if [ -z $1 ]; then - echo "Error: Need to specify VM name in the Vagrantfile." - echo "Ex.) $ ./test.sh almalinux-9" + echo "Error: Need to specify distribution name." + echo "Ex.) $ ./test.sh centos-7" exit 1 fi vm=$1 -dir="/vagrant/fluent-package/yum/systemd-test" - -vagrant status $vm | grep -E "^${vm}\s+not created (.*)$" -if [ $? -ne 0 ]; then - echo "Error: The VM already exists. Need to destroy it in advance with the following command." - echo "$ vagrant destroy $vm" - exit 1 -fi +dir="/host/fluent-package/yum/systemd-test" + +lxc image list images + +case $vm in + centos-7) + image="images:centos/7" + ;; + rockylinux-8) + image="images:rockylinux/8" + ;; + almalinux-9) + image="images:almalinux/9" + ;; + amazonlinux-2) + image="images:amazonlinux/2" + ;; + amazonlinux-2023) + image="images:amazonlinux/2023" + ;; + *) + echo "Error: No mapping to lxc images." + exit 1 + ;; +esac set -eu @@ -26,21 +43,20 @@ test_filenames=( for yum_repo_type in local v5 lts; do echo -e "\nRun test: $yum_repo_type\n" - vagrant up $vm - vagrant ssh $vm -- $dir/install-newly.sh $yum_repo_type - vagrant destroy -f $vm + lxc launch $image target + lxc config device add target host disk source=$PWD path=/host + lxc exec tartet -- $dir/install-newly.sh $yum_repo_type + lxc stop target + lxc delete target done for test_filename in ${test_filenames[@]}; do echo -e "\nRun test: $test_filename\n" - vagrant up $vm - vagrant ssh $vm -- $dir/$test_filename - vagrant destroy -f $vm - # I want to use snapshot instead of destroying it for every test, - # but somehow, it will be often an error on GitHub Actions... - # $ vagrant snapshot save -f $vm after-setup - # (execute a test) - # $ vagrant snapshot restore $vm after-setup + lxc launch $image target + lxc config device add target host disk source=$PWD path=/host + lxc exec tartet -- $dir/$test_filename + lxc stop target + lxc delete target done echo -e "\nAll Success!\n"