From 96d87299ec29bfb84d8ed1790b4209c7909c9eb4 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Mon, 13 May 2024 13:42:48 -0700 Subject: [PATCH 01/72] Test with MacOS-14 --- .github/workflows/save_vm.yaml | 94 +++++++++++++++++++++++++--------- 1 file changed, 70 insertions(+), 24 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 9d81d908854..55b07becbc6 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -9,7 +9,7 @@ permissions: contents: read jobs: - vagrant-up: + vagrant-up-virtualbox: runs-on: macos-13 steps: - uses: actions/checkout@v4 @@ -30,27 +30,73 @@ jobs: run: CI=1 vagrant up - name: Validate image run: curl --show-error --fail --include http://localhost:1511 - - name: Save image - run: vagrant package --output submitty.box - - name: Publish image - run: | - vagrant cloud auth login --token ${{ secrets.VAGRANT_CLOUD_TOKEN }} - vagrant cloud publish SubmittyBot/ubuntu22-dev ${{ steps.get-version.outputs.version }}.$(date +"%y%m%d%H%M") virtualbox submitty.box --release --force - vagrant cloud auth logout - - name: Acquire Job ID - if: failure() - id: get-job-id - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # - name: Save image + # run: vagrant package --output submitty.box + # - name: Publish image + # run: | + # vagrant cloud auth login --token ${{ secrets.VAGRANT_CLOUD_TOKEN }} + # vagrant cloud publish SubmittyBot/ubuntu22-dev ${{ steps.get-version.outputs.version }}.$(date +"%y%m%d%H%M") virtualbox submitty.box --release --force + # vagrant cloud auth logout + # - name: Acquire Job ID + # if: failure() + # id: get-job-id + # env: + # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # run: | + # jobs=$(gh api repos/${{ github.repository }}/actions/runs/${{ github.run_id}}/attempts/${{ github.run_attempt }}/jobs) + # job_id=$(echo $jobs | jq -r '.jobs[] | select(.runner_name=="${{ runner.name }}") | .id') + # echo "job_id=$job_id" >> $GITHUB_OUTPUT + # - name: Send zulip message on failure + # if: failure() + # run: >- + # curl -X POST https://submitty.zulipchat.com/api/v1/messages -u ${{ secrets.ZULIP_AUTHENTICATION }} + # --data-urlencode 'type=stream' + # --data-urlencode 'to=Submitty Developer Studio' + # --data-urlencode 'topic=Vagrant Up Failures' + # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' + + vagrant-up-qemu: + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Install qemu and vagrant + run: brew install qemu vagrant + - name: Get latest version + id: get-version run: | - jobs=$(gh api repos/${{ github.repository }}/actions/runs/${{ github.run_id}}/attempts/${{ github.run_attempt }}/jobs) - job_id=$(echo $jobs | jq -r '.jobs[] | select(.runner_name=="${{ runner.name }}") | .id') - echo "job_id=$job_id" >> $GITHUB_OUTPUT - - name: Send zulip message on failure - if: failure() - run: >- - curl -X POST https://submitty.zulipchat.com/api/v1/messages -u ${{ secrets.ZULIP_AUTHENTICATION }} - --data-urlencode 'type=stream' - --data-urlencode 'to=Submitty Developer Studio' - --data-urlencode 'topic=Vagrant Up Failures' - --data-urlencode 'content=The Package Vagrant VM Github Action has failed, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' + TAG=$(git describe --tags --abbrev=0) + if ! [[ $TAG =~ ^v[0-9]{2}\.[0-9]{2}\.[0-9]{2}$ ]]; then + echo "Invalid tag name: '$TAG'" + exit 1 + fi + echo "version=${TAG:1}" >> $GITHUB_OUTPUT + - name: Vagrant Up + run: CI=1 vagrant up --provider=qemu + # - name: Validate image + # run: curl --show-error --fail --include http://localhost:1511 + # - name: Save image + # run: vagrant package --output submitty.box + # - name: Publish image + # run: | + # vagrant cloud auth login --token ${{ secrets.VAGRANT_CLOUD_TOKEN }} + # vagrant cloud publish SubmittyBot/ubuntu22-dev ${{ steps.get-version.outputs.version }}.$(date +"%y%m%d%H%M") virtualbox submitty.box --release --force + # vagrant cloud auth logout + # - name: Acquire Job ID + # if: failure() + # id: get-job-id + # env: + # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # run: | + # jobs=$(gh api repos/${{ github.repository }}/actions/runs/${{ github.run_id}}/attempts/${{ github.run_attempt }}/jobs) + # job_id=$(echo $jobs | jq -r '.jobs[] | select(.runner_name=="${{ runner.name }}") | .id') + # echo "job_id=$job_id" >> $GITHUB_OUTPUT + # - name: Send zulip message on failure + # if: failure() + # run: >- + # curl -X POST https://submitty.zulipchat.com/api/v1/messages -u ${{ secrets.ZULIP_AUTHENTICATION }} + # --data-urlencode 'type=stream' + # --data-urlencode 'to=Submitty Developer Studio' + # --data-urlencode 'topic=Vagrant Up Failures' + # --data-urlencode 'content=The Package Vagrant VM Github Action has failed, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' From 603d9c9bb6daaeb1643baf5ec696c52ae27fbef0 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Mon, 13 May 2024 13:45:43 -0700 Subject: [PATCH 02/72] Test with MacOS-14 --- .github/workflows/save_vm.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 55b07becbc6..0930977aca6 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,15 +63,15 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: brew install qemu vagrant - - name: Get latest version - id: get-version - run: | - TAG=$(git describe --tags --abbrev=0) - if ! [[ $TAG =~ ^v[0-9]{2}\.[0-9]{2}\.[0-9]{2}$ ]]; then - echo "Invalid tag name: '$TAG'" - exit 1 - fi - echo "version=${TAG:1}" >> $GITHUB_OUTPUT + # - name: Get latest version + # id: get-version + # run: | + # TAG=$(git describe --tags --abbrev=0) + # if ! [[ $TAG =~ ^v[0-9]{2}\.[0-9]{2}\.[0-9]{2}$ ]]; then + # echo "Invalid tag name: '$TAG'" + # exit 1 + # fi + # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up run: CI=1 vagrant up --provider=qemu # - name: Validate image From ac8566f0f1cc61cf2186407c1d6d170dbf2c3a46 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Mon, 13 May 2024 13:48:39 -0700 Subject: [PATCH 03/72] Test with MacOS-14 --- .github/workflows/save_vm.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 0930977aca6..6a0b3a9ae5d 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -62,7 +62,9 @@ jobs: with: fetch-depth: 0 - name: Install qemu and vagrant - run: brew install qemu vagrant + run: | + brew install qemu vagrant + vagrant plugin install vagrant-qemu # - name: Get latest version # id: get-version # run: | From b081d119daaa2a073f6f2e858fa10ad0b57bdc74 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:28:19 -0700 Subject: [PATCH 04/72] try libvirt --- .github/workflows/save_vm.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 6a0b3a9ae5d..334fe212636 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,8 +63,8 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - brew install qemu vagrant - vagrant plugin install vagrant-qemu + brew install libvirt vagrant + vagrant plugin install vagrant-libvirt # - name: Get latest version # id: get-version # run: | @@ -75,7 +75,7 @@ jobs: # fi # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up - run: CI=1 vagrant up --provider=qemu + run: CI=1 vagrant up --provider=libvirt # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From b3dcbfbd0e8106a3c323a070f51a28f6794d9a9e Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:29:51 -0700 Subject: [PATCH 05/72] try libvirt --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 334fe212636..1632105c2b4 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,7 +63,7 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - brew install libvirt vagrant + brew install qemu libvirt vagrant vagrant plugin install vagrant-libvirt # - name: Get latest version # id: get-version From df943fbf2046e5f704b3e9461c7926e1613bf734 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:33:24 -0700 Subject: [PATCH 06/72] try qemu again --- .github/workflows/save_vm.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 1632105c2b4..6a0b3a9ae5d 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,8 +63,8 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - brew install qemu libvirt vagrant - vagrant plugin install vagrant-libvirt + brew install qemu vagrant + vagrant plugin install vagrant-qemu # - name: Get latest version # id: get-version # run: | @@ -75,7 +75,7 @@ jobs: # fi # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up - run: CI=1 vagrant up --provider=libvirt + run: CI=1 vagrant up --provider=qemu # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 808be46f7f696add41bd5d4f6df4f1b1774cfa2a Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:34:01 -0700 Subject: [PATCH 07/72] try qemu again --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 730ab118f38..3444f6ba239 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -249,7 +249,7 @@ Vagrant.configure(2) do |config| qe.smp = 2 qe.ssh_port = ENV.fetch('VM_PORT_SSH', 2222) - + smb_username = 'runner' mount_folders(override, []) end From bf09a4ed24e08249e1f7546e634083154820668d Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:45:05 -0700 Subject: [PATCH 08/72] try libvirt again --- .github/workflows/save_vm.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 6a0b3a9ae5d..e1fc857f6d4 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,15 +56,16 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: macos-14 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install qemu and vagrant run: | - brew install qemu vagrant - vagrant plugin install vagrant-qemu + apt-get install libvirt + apt-get install vagrant + vagrant plugin install vagrant-libivrt # - name: Get latest version # id: get-version # run: | @@ -75,7 +76,7 @@ jobs: # fi # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up - run: CI=1 vagrant up --provider=qemu + run: CI=1 vagrant up # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From f9217d43e8493a2f15d663f90ccd7a9cca5dd9f0 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:47:12 -0700 Subject: [PATCH 09/72] try libvirt again --- .github/workflows/save_vm.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index e1fc857f6d4..832faff8421 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,8 +63,8 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - apt-get install libvirt - apt-get install vagrant + sudo apt-get install libvirt + sudo apt-get install vagrant vagrant plugin install vagrant-libivrt # - name: Get latest version # id: get-version From c5628450c79f3dd50b9f4ebc8bb7332cf79592b7 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:48:06 -0700 Subject: [PATCH 10/72] try libvirt again --- .github/workflows/save_vm.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 832faff8421..f0c1a54c4d6 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,7 +63,6 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get install libvirt sudo apt-get install vagrant vagrant plugin install vagrant-libivrt # - name: Get latest version From 7cf67cc7eaa94df5c69a69f81256145666d378a0 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 14:56:16 -0700 Subject: [PATCH 11/72] try libvirt again --- .github/workflows/save_vm.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index f0c1a54c4d6..c48ca05ef42 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,7 +63,11 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get install vagrant + sudo apt-get purge vagrant-libvirt + sudo apt-mark hold vagrant-libvirt + sudo apt-get update && \ + sudo apt-get install -y qemu libvirt-daemon-system ebtables libguestfs-tools \ + vagrant ruby-fog-libvirt vagrant plugin install vagrant-libivrt # - name: Get latest version # id: get-version From 199ef438b08f2e39fab2788173979802c6cc2e9e Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:04:09 -0700 Subject: [PATCH 12/72] try libvirt again --- .github/workflows/save_vm.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index c48ca05ef42..6b7a3c3f0a2 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,12 +63,9 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get purge vagrant-libvirt - sudo apt-mark hold vagrant-libvirt - sudo apt-get update && \ - sudo apt-get install -y qemu libvirt-daemon-system ebtables libguestfs-tools \ - vagrant ruby-fog-libvirt - vagrant plugin install vagrant-libivrt + sudo apt-get install libvirt + sudo apt-get install vagrant + vagrant plugin install vagrant-libvirt # - name: Get latest version # id: get-version # run: | From a469b42a072e6c7d2426bced9f30b2be3f5c181d Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:09:31 -0700 Subject: [PATCH 13/72] try libvirt again --- .github/workflows/save_vm.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 6b7a3c3f0a2..3cd4a546051 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,8 +63,8 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get install libvirt - sudo apt-get install vagrant + sudo apt-get install -y qemu libvirt-daemon-system ebtables libguestfs-tools \ + vagrant ruby-fog-libvirt vagrant plugin install vagrant-libvirt # - name: Get latest version # id: get-version From 9a640fefa12a5033502398b8b34ccaf3c3785469 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:14:44 -0700 Subject: [PATCH 14/72] try libvirt again --- .github/workflows/save_vm.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 3cd4a546051..5f6bb8989cf 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,8 +63,7 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get install -y qemu libvirt-daemon-system ebtables libguestfs-tools \ - vagrant ruby-fog-libvirt + sudo apt-get install vagrant qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils vagrant plugin install vagrant-libvirt # - name: Get latest version # id: get-version From e504e279124d107d6d6338e734ba269fcc1c6b1b Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:19:46 -0700 Subject: [PATCH 15/72] try libvirt again --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 5f6bb8989cf..98fd28b8ef9 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -75,7 +75,7 @@ jobs: # fi # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up - run: CI=1 vagrant up + run: CI=1 vagrant up --provider=libvirt # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 2a097587b7c9414dadb9962ac8c96ee3462b2a69 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:22:03 -0700 Subject: [PATCH 16/72] try libvirt again --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 98fd28b8ef9..0d9064509b4 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -75,7 +75,7 @@ jobs: # fi # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up - run: CI=1 vagrant up --provider=libvirt + run: sudo CI=1 vagrant up --provider=libvirt # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 96074f8bd8ac3265af2427d4ca166cadba9bb307 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:30:11 -0700 Subject: [PATCH 17/72] try qemu again --- .github/workflows/save_vm.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 0d9064509b4..6a0b3a9ae5d 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,15 +56,15 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: ubuntu-22.04 + runs-on: macos-14 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get install vagrant qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils - vagrant plugin install vagrant-libvirt + brew install qemu vagrant + vagrant plugin install vagrant-qemu # - name: Get latest version # id: get-version # run: | @@ -75,7 +75,7 @@ jobs: # fi # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up - run: sudo CI=1 vagrant up --provider=libvirt + run: CI=1 vagrant up --provider=qemu # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 52f4fb9313f5286ea965318a81b1dfb5bc652a52 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:35:25 -0700 Subject: [PATCH 18/72] try qemu again --- Vagrantfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 3444f6ba239..2e55af0580c 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -239,6 +239,8 @@ Vagrant.configure(2) do |config| end config.vm.provider "qemu" do |qe, override| + config.smb_username = 'runner' + config.smb_password = 'runner' unless custom_box if apple_silicon override.vm.box = base_boxes[:arm_mac_qemu] @@ -249,7 +251,7 @@ Vagrant.configure(2) do |config| qe.smp = 2 qe.ssh_port = ENV.fetch('VM_PORT_SSH', 2222) - smb_username = 'runner' + mount_folders(override, []) end From d98c7f90017cc47d75fad90a7b7d23dd28ebef7b Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:38:35 -0700 Subject: [PATCH 19/72] try qemu again --- Vagrantfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 2e55af0580c..47437d74a3b 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -83,13 +83,13 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_password: "runner", smb_username: "runner" optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: smb_password: "runner", smb_username: "runner" end } end From ea99b02330e5f8cb995b8f27c7730edd68a3250f Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:40:40 -0700 Subject: [PATCH 20/72] try qemu again --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 47437d74a3b..ac2070a4ff1 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -89,7 +89,7 @@ def mount_folders(config, mount_options) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: smb_password: "runner", smb_username: "runner" + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_password: "runner", smb_username: "runner" end } end From fa776a7da244dc2321d26d05bacdbe555c13bbc8 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:42:56 -0700 Subject: [PATCH 21/72] try qemu again --- Vagrantfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index ac2070a4ff1..5e652943c21 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -239,8 +239,6 @@ Vagrant.configure(2) do |config| end config.vm.provider "qemu" do |qe, override| - config.smb_username = 'runner' - config.smb_password = 'runner' unless custom_box if apple_silicon override.vm.box = base_boxes[:arm_mac_qemu] From 120c1852591b067bff7be13763b0c6fbc050a950 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:49:27 -0700 Subject: [PATCH 22/72] try qemu again --- .github/workflows/save_vm.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 6a0b3a9ae5d..fe01e3781b3 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,6 +65,8 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu + pwpolicy -u runner -sethashtypes SMB-NT on + dscl . -passwd /Users/SomeUser "runner" # - name: Get latest version # id: get-version # run: | From 31d4045c411cd0ad1f48ae68be569d3f871fea1f Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 15:52:25 -0700 Subject: [PATCH 23/72] try qemu again --- .github/workflows/save_vm.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index fe01e3781b3..ca39cb22a68 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -66,7 +66,6 @@ jobs: brew install qemu vagrant vagrant plugin install vagrant-qemu pwpolicy -u runner -sethashtypes SMB-NT on - dscl . -passwd /Users/SomeUser "runner" # - name: Get latest version # id: get-version # run: | From 7660a10f5763dba49fbca0c74e7dea2ce6fad858 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:01:05 -0700 Subject: [PATCH 24/72] try qemu again --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index ca39cb22a68..40f5ce65d11 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - pwpolicy -u runner -sethashtypes SMB-NT on + sudo pwpolicy -u runner -sethashtypes SMB-NT on # - name: Get latest version # id: get-version # run: | From efdea42a18b330671fd583f5f56d3891b31f4c06 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:07:03 -0700 Subject: [PATCH 25/72] try qemu again --- .github/workflows/save_vm.yaml | 3 ++- Vagrantfile | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 40f5ce65d11..0d8c7edd5a8 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,7 +63,8 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - brew install qemu vagrant + brew install qemu + brew install --cask vagrant vagrant plugin install vagrant-qemu sudo pwpolicy -u runner -sethashtypes SMB-NT on # - name: Get latest version diff --git a/Vagrantfile b/Vagrantfile index 5e652943c21..ffc033c5c83 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -39,18 +39,18 @@ def gen_script(machine_name, worker: false, base: false) reinstall = ENV.has_key?('VAGRANT_BOX') || base extra = ENV.fetch('EXTRA', '') setup_cmd = 'bash ${GIT_PATH}/.setup/' - if reinstall || ON_CI - if worker - setup_cmd += 'install_worker.sh' - else - setup_cmd += 'vagrant/setup_vagrant.sh' - if no_submissions - setup_cmd += ' --no_submissions' - end - end - else + # if reinstall || ON_CI + # if worker + # setup_cmd += 'install_worker.sh' + # else + # setup_cmd += 'vagrant/setup_vagrant.sh' + # if no_submissions + # setup_cmd += ' --no_submissions' + # end + # end + # else setup_cmd += 'install_success_from_cloud.sh' - end + # end unless extra.empty? setup_cmd += " #{extra}" end From 5c04dfb7a8b61e8c4ce0e905fd6cef5068acfd04 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:14:10 -0700 Subject: [PATCH 26/72] try qemu again --- .github/workflows/save_vm.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 0d8c7edd5a8..3bffbafe6b8 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,6 +63,7 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | + sudo sysctl machdep.cpu.features | grep VMX brew install qemu brew install --cask vagrant vagrant plugin install vagrant-qemu From 71b5d3a1a5be4f9d8ab2996cbe7350b85145a06c Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:17:59 -0700 Subject: [PATCH 27/72] try libvirt again --- .github/workflows/save_vm.yaml | 68 ++++++++++------------------------ 1 file changed, 20 insertions(+), 48 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 3bffbafe6b8..606bda3b43c 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -54,54 +54,26 @@ jobs: # --data-urlencode 'to=Submitty Developer Studio' # --data-urlencode 'topic=Vagrant Up Failures' # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' - + vagrant-up-qemu: - runs-on: macos-14 + runs-on: ubuntu-latest + strategy: + matrix: + arch: [arm64] + steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Install qemu and vagrant + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install QEMU and Vagrant run: | - sudo sysctl machdep.cpu.features | grep VMX - brew install qemu - brew install --cask vagrant - vagrant plugin install vagrant-qemu - sudo pwpolicy -u runner -sethashtypes SMB-NT on - # - name: Get latest version - # id: get-version - # run: | - # TAG=$(git describe --tags --abbrev=0) - # if ! [[ $TAG =~ ^v[0-9]{2}\.[0-9]{2}\.[0-9]{2}$ ]]; then - # echo "Invalid tag name: '$TAG'" - # exit 1 - # fi - # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - - name: Vagrant Up - run: CI=1 vagrant up --provider=qemu - # - name: Validate image - # run: curl --show-error --fail --include http://localhost:1511 - # - name: Save image - # run: vagrant package --output submitty.box - # - name: Publish image - # run: | - # vagrant cloud auth login --token ${{ secrets.VAGRANT_CLOUD_TOKEN }} - # vagrant cloud publish SubmittyBot/ubuntu22-dev ${{ steps.get-version.outputs.version }}.$(date +"%y%m%d%H%M") virtualbox submitty.box --release --force - # vagrant cloud auth logout - # - name: Acquire Job ID - # if: failure() - # id: get-job-id - # env: - # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # run: | - # jobs=$(gh api repos/${{ github.repository }}/actions/runs/${{ github.run_id}}/attempts/${{ github.run_attempt }}/jobs) - # job_id=$(echo $jobs | jq -r '.jobs[] | select(.runner_name=="${{ runner.name }}") | .id') - # echo "job_id=$job_id" >> $GITHUB_OUTPUT - # - name: Send zulip message on failure - # if: failure() - # run: >- - # curl -X POST https://submitty.zulipchat.com/api/v1/messages -u ${{ secrets.ZULIP_AUTHENTICATION }} - # --data-urlencode 'type=stream' - # --data-urlencode 'to=Submitty Developer Studio' - # --data-urlencode 'topic=Vagrant Up Failures' - # --data-urlencode 'content=The Package Vagrant VM Github Action has failed, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' + sudo apt-get update + sudo apt-get install -y qemu qemu-kvm libvirt-clients libvirt-daemon-system vagrant + + - name: Build ARM64 Vagrant Box + run: | + # Add your commands to build the ARM64 Vagrant box here + # For example: + vagrant up --provider=libvirt + # vagrant package --output arm64-vagrant-box.box + # vagrant cloud publish --release / arm64-vagrant-box.box --force From d7ced7e043d1b89a402c9cd61ec05c8a75722fe6 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:20:02 -0700 Subject: [PATCH 28/72] try libvirt again --- .github/workflows/save_vm.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 606bda3b43c..f7311cdc819 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,7 +63,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install QEMU and Vagrant run: | @@ -74,6 +74,6 @@ jobs: run: | # Add your commands to build the ARM64 Vagrant box here # For example: - vagrant up --provider=libvirt + sudo vagrant up --provider=libvirt # vagrant package --output arm64-vagrant-box.box # vagrant cloud publish --release / arm64-vagrant-box.box --force From 34a77a8a4a7f6ad51349d824106d631fb35930e3 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:26:05 -0700 Subject: [PATCH 29/72] try libvirt again --- .github/workflows/save_vm.yaml | 4 +--- Vagrantfile | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index f7311cdc819..f13ed0f55a7 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -57,9 +57,7 @@ jobs: vagrant-up-qemu: runs-on: ubuntu-latest - strategy: - matrix: - arch: [arm64] + arch: [arm64] steps: - name: Checkout code diff --git a/Vagrantfile b/Vagrantfile index ffc033c5c83..5125117dfc4 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -49,7 +49,7 @@ def gen_script(machine_name, worker: false, base: false) # end # end # else - setup_cmd += 'install_success_from_cloud.sh' + setup_cmd += 'install_success_from_cloud.sh' # end unless extra.empty? setup_cmd += " #{extra}" @@ -83,13 +83,13 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_password: "runner", smb_username: "runner" + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_password: "runner", smb_username: "runner" + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp end } end From 83afdcf42e56a4dbe6ab29db06291ecddb1e71a6 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:27:18 -0700 Subject: [PATCH 30/72] try libvirt again --- .github/workflows/save_vm.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index f13ed0f55a7..f7311cdc819 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -57,7 +57,9 @@ jobs: vagrant-up-qemu: runs-on: ubuntu-latest - arch: [arm64] + strategy: + matrix: + arch: [arm64] steps: - name: Checkout code From 2a55f350893d919d5d53798391feb95bb2c90ec8 Mon Sep 17 00:00:00 2001 From: IDzyre Date: Mon, 13 May 2024 16:49:53 -0700 Subject: [PATCH 31/72] try libvirt again --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index f7311cdc819..8490efc9480 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -74,6 +74,6 @@ jobs: run: | # Add your commands to build the ARM64 Vagrant box here # For example: - sudo vagrant up --provider=libvirt + sudo CI=1 vagrant up --provider=libvirt # vagrant package --output arm64-vagrant-box.box # vagrant cloud publish --release / arm64-vagrant-box.box --force From c2a6f37e996478eaf14d4a614346f3e05a9a7a01 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 10:36:31 -0700 Subject: [PATCH 32/72] Test with no sudo --- .github/workflows/save_vm.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 6a0b3a9ae5d..239d738bd20 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,6 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu + sudo systemctl status nfs-kernel-server # - name: Get latest version # id: get-version # run: | @@ -75,7 +76,8 @@ jobs: # fi # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up - run: CI=1 vagrant up --provider=qemu + run: | + CI=1 vagrant up --provider=qemu # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 389b6a990f6917485b942f83dfb5462593eef8e9 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 11:13:09 -0700 Subject: [PATCH 33/72] Test with no sudo --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 239d738bd20..70ee4c5623f 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - sudo systemctl status nfs-kernel-server + showmount -e nas01 # - name: Get latest version # id: get-version # run: | From 87c2b9b622df91de3c668a70805bc241053598a9 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 11:13:32 -0700 Subject: [PATCH 34/72] Test with no sudo --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 70ee4c5623f..ad6db5b6862 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -4,7 +4,7 @@ on: schedule: - cron: '0 0 * * 0' workflow_dispatch: - + pull_request: permissions: contents: read From a9de686be64e12e624fac6b64f9e7a3c1f3fa42f Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 11:17:45 -0700 Subject: [PATCH 35/72] Test with no sudo --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index ad6db5b6862..bd02efdd8b1 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - showmount -e nas01 + # - name: Get latest version # id: get-version # run: | From d3120c0fe12c4923c83976ee388606d61c47a65f Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 11:20:33 -0700 Subject: [PATCH 36/72] Test with no sudo --- Vagrantfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 3444f6ba239..a5510280bf6 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -83,13 +83,13 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_pasword: 'runner' optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_pasword: 'runner' end } end From 150dfaef26d2f94f8d5f07e8c9d6a097a80e24b7 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 11:24:30 -0700 Subject: [PATCH 37/72] Test sm password --- Vagrantfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index a5510280bf6..b5b82cf1ad6 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -83,13 +83,13 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_pasword: 'runner' + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: localhost, smb_username: 'runner', smb_password: 'runner' optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_pasword: 'runner' + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: localhost, smb_username: 'runner', smb_password: 'runner' end } end From eb6808dd582c68aa5fffc0bdaf69303d83d3fa2e Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 11:26:17 -0700 Subject: [PATCH 38/72] Test sm password --- Vagrantfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index b5b82cf1ad6..5f79d7fb0ef 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -83,13 +83,13 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: localhost, smb_username: 'runner', smb_password: 'runner' + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_password: 'runner' optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: localhost, smb_username: 'runner', smb_password: 'runner' + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_password: 'runner' end } end From 8527eddcdcb2ec871f5e3a964e975f2be728bb76 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:03:30 -0700 Subject: [PATCH 39/72] testing sudo --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index bd02efdd8b1..78b36beedb8 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -77,7 +77,7 @@ jobs: # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up run: | - CI=1 vagrant up --provider=qemu + sudo CI=1 vagrant up --provider=qemu # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 1f46db5653347e31a596e645d64fe6ad6e2743de Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:06:42 -0700 Subject: [PATCH 40/72] testing sudo and smb --- .github/workflows/save_vm.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 78b36beedb8..44c4796eb4d 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,8 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - + pwpolicy -u runner -sethashtypes SMB-NT on + sudo launchctl start com.apple.smbfs_load_kext # - name: Get latest version # id: get-version # run: | From 6c6046dd51bdfb0d4fc134562ae0f0591f1e7e5c Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:08:22 -0700 Subject: [PATCH 41/72] testing sudo and smb --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 44c4796eb4d..0b4aa86ce6e 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - pwpolicy -u runner -sethashtypes SMB-NT on + sudo pwpolicy -u runner -sethashtypes SMB-NT on sudo launchctl start com.apple.smbfs_load_kext # - name: Get latest version # id: get-version From 655392eb68e9d1d23b1ab8b1122947e7da124b99 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:10:24 -0700 Subject: [PATCH 42/72] testing sudo and smb --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 0b4aa86ce6e..bee97d6cea1 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -66,7 +66,7 @@ jobs: brew install qemu vagrant vagrant plugin install vagrant-qemu sudo pwpolicy -u runner -sethashtypes SMB-NT on - sudo launchctl start com.apple.smbfs_load_kext + # sudo launchctl start com.apple.smbfs_load_kext # - name: Get latest version # id: get-version # run: | From b002fd6b3afd4df498bd9740dcb5e7fb5aa82de5 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:18:22 -0700 Subject: [PATCH 43/72] cant use macos --- .github/workflows/save_vm.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index bee97d6cea1..216557c7f56 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,16 +56,16 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: macos-14 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install qemu and vagrant run: | - brew install qemu vagrant + sudo apt-get install qemu vagrant vagrant plugin install vagrant-qemu - sudo pwpolicy -u runner -sethashtypes SMB-NT on + # sudo pwpolicy -u runner -sethashtypes SMB-NT on # sudo launchctl start com.apple.smbfs_load_kext # - name: Get latest version # id: get-version From 58b844af939ad2d6571999a55061922932ef98e8 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:25:28 -0700 Subject: [PATCH 44/72] cant use macos --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 216557c7f56..a11967475cf 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,7 +63,7 @@ jobs: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get install qemu vagrant + sudo apt-get install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils vagrant vagrant plugin install vagrant-qemu # sudo pwpolicy -u runner -sethashtypes SMB-NT on # sudo launchctl start com.apple.smbfs_load_kext From 89d5cdeff5e1dd2e0d935058f466f7c567690881 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:27:23 -0700 Subject: [PATCH 45/72] use libvirt? --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index a11967475cf..e36d07b614a 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -78,7 +78,7 @@ jobs: # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up run: | - sudo CI=1 vagrant up --provider=qemu + sudo CI=1 vagrant up --provider=libvirt # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 0aabbef97d3bc977a685600e3423802d7efde268 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:31:21 -0700 Subject: [PATCH 46/72] use libvirt? --- .github/workflows/save_vm.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index e36d07b614a..d26c2d208fb 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,6 +65,7 @@ jobs: run: | sudo apt-get install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils vagrant vagrant plugin install vagrant-qemu + sudo apt install nfs-common # sudo pwpolicy -u runner -sethashtypes SMB-NT on # sudo launchctl start com.apple.smbfs_load_kext # - name: Get latest version From cb7425322882659b1ccb05c8102aad637d62a45e Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:39:40 -0700 Subject: [PATCH 47/72] use libvirt? --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 5f79d7fb0ef..2bbd6553980 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -73,7 +73,7 @@ base_boxes = Hash[] base_boxes.default = "SubmittyBot/ubuntu22-dev" base_boxes[:base] = "bento/ubuntu-22.04" base_boxes[:arm_bento] = "bento/ubuntu-22.04-arm64" -base_boxes[:libvirt] = "generic/ubuntu2204" +base_boxes[:libvirt] = "perk/ubuntu-2204-arm64" base_boxes[:arm_mac_qemu] = "perk/ubuntu-2204-arm64" def mount_folders(config, mount_options) From 51a7c1c59aad53b698a8c96039034281f450f81b Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:43:44 -0700 Subject: [PATCH 48/72] use libvirt? --- Vagrantfile | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 2bbd6553980..5125117dfc4 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -39,18 +39,18 @@ def gen_script(machine_name, worker: false, base: false) reinstall = ENV.has_key?('VAGRANT_BOX') || base extra = ENV.fetch('EXTRA', '') setup_cmd = 'bash ${GIT_PATH}/.setup/' - if reinstall || ON_CI - if worker - setup_cmd += 'install_worker.sh' - else - setup_cmd += 'vagrant/setup_vagrant.sh' - if no_submissions - setup_cmd += ' --no_submissions' - end - end - else - setup_cmd += 'install_success_from_cloud.sh' - end + # if reinstall || ON_CI + # if worker + # setup_cmd += 'install_worker.sh' + # else + # setup_cmd += 'vagrant/setup_vagrant.sh' + # if no_submissions + # setup_cmd += ' --no_submissions' + # end + # end + # else + setup_cmd += 'install_success_from_cloud.sh' + # end unless extra.empty? setup_cmd += " #{extra}" end @@ -73,7 +73,7 @@ base_boxes = Hash[] base_boxes.default = "SubmittyBot/ubuntu22-dev" base_boxes[:base] = "bento/ubuntu-22.04" base_boxes[:arm_bento] = "bento/ubuntu-22.04-arm64" -base_boxes[:libvirt] = "perk/ubuntu-2204-arm64" +base_boxes[:libvirt] = "generic/ubuntu2204" base_boxes[:arm_mac_qemu] = "perk/ubuntu-2204-arm64" def mount_folders(config, mount_options) @@ -83,13 +83,13 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_password: 'runner' + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: 'runner', smb_password: 'runner' + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp end } end @@ -249,7 +249,7 @@ Vagrant.configure(2) do |config| qe.smp = 2 qe.ssh_port = ENV.fetch('VM_PORT_SSH', 2222) - smb_username = 'runner' + mount_folders(override, []) end From fe3c83fea9ad162e61b8e5af92defbffd51fdeea Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Tue, 14 May 2024 13:45:32 -0700 Subject: [PATCH 49/72] use libvirt? --- .github/workflows/save_vm.yaml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index d26c2d208fb..e86241fa208 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,16 +56,18 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: ubuntu-22.04 + runs-on: macos-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install qemu and vagrant run: | - sudo apt-get install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils vagrant - vagrant plugin install vagrant-qemu - sudo apt install nfs-common + # sudo apt-get install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils vagrant + # vagrant plugin install vagrant-qemu + # sudo apt install nfs-common + brew install parallels vagrant + vagrant plugin install vagrant-parallels # sudo pwpolicy -u runner -sethashtypes SMB-NT on # sudo launchctl start com.apple.smbfs_load_kext # - name: Get latest version @@ -79,7 +81,7 @@ jobs: # echo "version=${TAG:1}" >> $GITHUB_OUTPUT - name: Vagrant Up run: | - sudo CI=1 vagrant up --provider=libvirt + sudo CI=1 vagrant up --provider=parallels # - name: Validate image # run: curl --show-error --fail --include http://localhost:1511 # - name: Save image From 1d3751fe27c371242f01f2075d4db20cd8e7eadb Mon Sep 17 00:00:00 2001 From: IDzyre Date: Tue, 14 May 2024 19:35:11 -0700 Subject: [PATCH 50/72] try 1 --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 730ab118f38..c047422ae58 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -73,7 +73,7 @@ base_boxes = Hash[] base_boxes.default = "SubmittyBot/ubuntu22-dev" base_boxes[:base] = "bento/ubuntu-22.04" base_boxes[:arm_bento] = "bento/ubuntu-22.04-arm64" -base_boxes[:libvirt] = "generic/ubuntu2204" +base_boxes[:libvirt] = "bento/ubuntu-22.04-arm64" base_boxes[:arm_mac_qemu] = "perk/ubuntu-2204-arm64" def mount_folders(config, mount_options) From 66c19e4171be84aca7bc72f8522b47a48b12f618 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:05:32 -0700 Subject: [PATCH 51/72] use libv --- .github/workflows/save_vm.yaml | 4 ---- Vagrantfile | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index e2deaf8980c..e2bbbe7f089 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -57,10 +57,6 @@ jobs: vagrant-up-qemu: runs-on: ubuntu-latest - strategy: - matrix: - arch: [arm64] - steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/Vagrantfile b/Vagrantfile index c047422ae58..e3feef760a2 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -39,18 +39,18 @@ def gen_script(machine_name, worker: false, base: false) reinstall = ENV.has_key?('VAGRANT_BOX') || base extra = ENV.fetch('EXTRA', '') setup_cmd = 'bash ${GIT_PATH}/.setup/' - if reinstall || ON_CI - if worker - setup_cmd += 'install_worker.sh' - else - setup_cmd += 'vagrant/setup_vagrant.sh' - if no_submissions - setup_cmd += ' --no_submissions' - end - end - else - setup_cmd += 'install_success_from_cloud.sh' - end + # if reinstall || ON_CI + # if worker + # setup_cmd += 'install_worker.sh' + # else + # setup_cmd += 'vagrant/setup_vagrant.sh' + # if no_submissions + # setup_cmd += ' --no_submissions' + # end + # end + # else + setup_cmd += 'install_success_from_cloud.sh' + # end unless extra.empty? setup_cmd += " #{extra}" end @@ -73,7 +73,7 @@ base_boxes = Hash[] base_boxes.default = "SubmittyBot/ubuntu22-dev" base_boxes[:base] = "bento/ubuntu-22.04" base_boxes[:arm_bento] = "bento/ubuntu-22.04-arm64" -base_boxes[:libvirt] = "bento/ubuntu-22.04-arm64" +base_boxes[:libvirt] = "perk/ubuntu-2204-arm64" base_boxes[:arm_mac_qemu] = "perk/ubuntu-2204-arm64" def mount_folders(config, mount_options) From 2e3146d9a49aec5cba46fd3b0a86887f0defcb9d Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:10:33 -0700 Subject: [PATCH 52/72] use libv --- .github/workflows/save_vm.yaml | 4 ++-- Vagrantfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index e2bbbe7f089..f736f6075d6 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -64,12 +64,12 @@ jobs: - name: Install QEMU and Vagrant run: | sudo apt-get update - sudo apt-get install -y qemu qemu-kvm libvirt-clients libvirt-daemon-system vagrant + sudo apt-get install -y vmware libvirt-clients libvirt-daemon-system vagrant - name: Build ARM64 Vagrant Box run: | # Add your commands to build the ARM64 Vagrant box here # For example: - sudo CI=1 vagrant up --provider=libvirt + sudo CI=1 vagrant up --provider=vmware # vagrant package --output arm64-vagrant-box.box # vagrant cloud publish --release / arm64-vagrant-box.box --force diff --git a/Vagrantfile b/Vagrantfile index e3feef760a2..5125117dfc4 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -73,7 +73,7 @@ base_boxes = Hash[] base_boxes.default = "SubmittyBot/ubuntu22-dev" base_boxes[:base] = "bento/ubuntu-22.04" base_boxes[:arm_bento] = "bento/ubuntu-22.04-arm64" -base_boxes[:libvirt] = "perk/ubuntu-2204-arm64" +base_boxes[:libvirt] = "generic/ubuntu2204" base_boxes[:arm_mac_qemu] = "perk/ubuntu-2204-arm64" def mount_folders(config, mount_options) From 3ce2f07a6b502e2e6258473e3ad125495aef2e06 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:19:41 -0700 Subject: [PATCH 53/72] macos-latest? --- .github/workflows/save_vm.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index f736f6075d6..84f05409980 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,7 +56,7 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: ubuntu-latest + runs-on: macos-latest steps: - name: Checkout code uses: actions/checkout@v4 @@ -64,12 +64,14 @@ jobs: - name: Install QEMU and Vagrant run: | sudo apt-get update - sudo apt-get install -y vmware libvirt-clients libvirt-daemon-system vagrant + sudo apt-get install -y qemu vagrant + vagrant plugin install vagrant-qemu - name: Build ARM64 Vagrant Box run: | # Add your commands to build the ARM64 Vagrant box here # For example: - sudo CI=1 vagrant up --provider=vmware + sudo pwpolicy -u runner -sethashtypes SMB-NT on + sudo CI=1 vagrant up --provider=qemmu # vagrant package --output arm64-vagrant-box.box # vagrant cloud publish --release / arm64-vagrant-box.box --force From fb55b27b10ec744069c6ef4264f05ca387108469 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:19:55 -0700 Subject: [PATCH 54/72] macos-13? --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 84f05409980..d5d057dcc6d 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,7 +56,7 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: macos-latest + runs-on: macos-13 steps: - name: Checkout code uses: actions/checkout@v4 From 1082c35ee662d1d5b1c88cd12527d49594bcf417 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:23:58 -0700 Subject: [PATCH 55/72] macos-13? --- .github/workflows/save_vm.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index d5d057dcc6d..8dadf1812ac 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -63,8 +63,7 @@ jobs: - name: Install QEMU and Vagrant run: | - sudo apt-get update - sudo apt-get install -y qemu vagrant + brew install qemu vagrant vagrant plugin install vagrant-qemu - name: Build ARM64 Vagrant Box From b5d949173b97e237669c6750e9084119fd664255 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:28:17 -0700 Subject: [PATCH 56/72] qemu not qemmu --- .github/workflows/save_vm.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 8dadf1812ac..9995fe9c365 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -68,9 +68,6 @@ jobs: - name: Build ARM64 Vagrant Box run: | - # Add your commands to build the ARM64 Vagrant box here - # For example: sudo pwpolicy -u runner -sethashtypes SMB-NT on - sudo CI=1 vagrant up --provider=qemmu - # vagrant package --output arm64-vagrant-box.box - # vagrant cloud publish --release / arm64-vagrant-box.box --force + CI=1 vagrant up --provider=qemu + \ No newline at end of file From 04466af41f5377864e5f60192fd9a365b0d9efa3 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:31:31 -0700 Subject: [PATCH 57/72] force --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 5125117dfc4..9c47856391d 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -240,7 +240,7 @@ Vagrant.configure(2) do |config| config.vm.provider "qemu" do |qe, override| unless custom_box - if apple_silicon + if apple_silicon || ON_CI override.vm.box = base_boxes[:arm_mac_qemu] end end From 6d655ca4ff5b63eec08e99ae9f40dadfe3187c3c Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:38:01 -0700 Subject: [PATCH 58/72] change qemu dir --- Vagrantfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index 9c47856391d..b6249b31b16 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -239,6 +239,9 @@ Vagrant.configure(2) do |config| end config.vm.provider "qemu" do |qe, override| + if ON_CI + qe.qemu_dir = "/usr/local/share/qemu" + end unless custom_box if apple_silicon || ON_CI override.vm.box = base_boxes[:arm_mac_qemu] From fb8c45827bbc3c49c228e7e3fe74cc19ad882d4a Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:40:56 -0700 Subject: [PATCH 59/72] smb --- Vagrantfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index b6249b31b16..21efca7b9e4 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -83,13 +83,13 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp, smb_password: `whoami`.chomp optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp, smb_password: `whoami`.chomp end } end From 8d14ecd8683cb62f6dc6b130ce73382865f98422 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:47:33 -0700 Subject: [PATCH 60/72] smb --- Vagrantfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Vagrantfile b/Vagrantfile index 21efca7b9e4..84aa333a8d4 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -241,6 +241,7 @@ Vagrant.configure(2) do |config| config.vm.provider "qemu" do |qe, override| if ON_CI qe.qemu_dir = "/usr/local/share/qemu" + config.vm.box_provider = "qemu" end unless custom_box if apple_silicon || ON_CI From de3f1a5ae927d576a2e990de0af00f59bb99667f Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:55:10 -0700 Subject: [PATCH 61/72] aaaa --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 84aa333a8d4..8da45b37d2e 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -83,7 +83,7 @@ def mount_folders(config, mount_options) # vagrant group so that they can write to this shared folder, primarily just for the log files owner = 'root' group = 'vagrant' - config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp, smb_password: `whoami`.chomp + config.vm.synced_folder '.', '/usr/local/submitty/GIT_CHECKOUT/Submitty', create: true, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp, smb_password: `whoami`.chomp, disabled: true optional_repos = %w(AnalysisTools AnalysisToolsTS Lichen RainbowGrades Tutorial CrashCourseCPPSyntax LichenTestData) optional_repos.each {|repo| From 70a30dba7a65560b5b57e9381332bc43f5a4154b Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 10:58:42 -0700 Subject: [PATCH 62/72] aaaa --- Vagrantfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 8da45b37d2e..55cb2b47d22 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -89,7 +89,7 @@ def mount_folders(config, mount_options) optional_repos.each {|repo| repo_path = File.expand_path("../" + repo) if File.directory?(repo_path) - config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp, smb_password: `whoami`.chomp + config.vm.synced_folder repo_path, "/usr/local/submitty/GIT_CHECKOUT/" + repo, owner: owner, group: group, mount_options: mount_options, smb_host: '10.0.2.2', smb_username: `whoami`.chomp, smb_password: `whoami`.chomp, disabled: true end } end @@ -241,7 +241,6 @@ Vagrant.configure(2) do |config| config.vm.provider "qemu" do |qe, override| if ON_CI qe.qemu_dir = "/usr/local/share/qemu" - config.vm.box_provider = "qemu" end unless custom_box if apple_silicon || ON_CI From 5c4d19dfa714c46dd948159721526b2c87f35b37 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:00:29 -0700 Subject: [PATCH 63/72] aaaa --- .github/workflows/save_vm.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 9995fe9c365..a230c39d2eb 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,6 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu + brew edit qemu --enable-hvf - name: Build ARM64 Vagrant Box run: | From bc67ad7c3e8bee5c36235d62af9ce23b7beda80b Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:13:57 -0700 Subject: [PATCH 64/72] aaaa --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index a230c39d2eb..fc3ca76cdf7 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - brew edit qemu --enable-hvf + qemu --version - name: Build ARM64 Vagrant Box run: | From 3c42f47df8ce7020b301a19eee2355a062af9fbc Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:23:21 -0700 Subject: [PATCH 65/72] aaaa --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index fc3ca76cdf7..2205b3561dd 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - qemu --version + sudo softwareupdate --install-rosetta - name: Build ARM64 Vagrant Box run: | From 781627f26334490dbdb09ae2cf4b7768208c43dc Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:27:00 -0700 Subject: [PATCH 66/72] aaaa --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 2205b3561dd..b1963b8ecf4 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,7 +56,7 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: macos-13 + runs-on: macos-14 steps: - name: Checkout code uses: actions/checkout@v4 From 542074931acdb5c82a4a1c55d55300a17bc52b0d Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:31:53 -0700 Subject: [PATCH 67/72] aaaa --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index b1963b8ecf4..71b2aa9e85a 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - sudo softwareupdate --install-rosetta + sudo softwareupdate --install-rosetta --accept-license - name: Build ARM64 Vagrant Box run: | From a598c8f6a938637f0cb844edab3ba64dcea4dd95 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:34:03 -0700 Subject: [PATCH 68/72] aaaa --- .github/workflows/save_vm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 71b2aa9e85a..445773d5c29 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -65,7 +65,7 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - sudo softwareupdate --install-rosetta --accept-license + sudo softwareupdate --install-rosetta --agree-to-license - name: Build ARM64 Vagrant Box run: | From 8d692898c1a6ebfd7ec0d447dd05bee520973bf3 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:34:24 -0700 Subject: [PATCH 69/72] aaaa --- Vagrantfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 55cb2b47d22..7e9be02ff1f 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -33,7 +33,9 @@ $stderr.sync = true require 'json' ON_CI = !ENV.fetch('CI', '').empty? - +if ON_CI + qe.qemu_dir = "/usr/local/share/qemu" +end def gen_script(machine_name, worker: false, base: false) no_submissions = !ENV.fetch('NO_SUBMISSIONS', '').empty? reinstall = ENV.has_key?('VAGRANT_BOX') || base @@ -239,9 +241,6 @@ Vagrant.configure(2) do |config| end config.vm.provider "qemu" do |qe, override| - if ON_CI - qe.qemu_dir = "/usr/local/share/qemu" - end unless custom_box if apple_silicon || ON_CI override.vm.box = base_boxes[:arm_mac_qemu] From 59e9ed92881d49d213d7c3b0a8f44d650c9b398d Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:36:13 -0700 Subject: [PATCH 70/72] aaaa --- Vagrantfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 7e9be02ff1f..8a7f0302def 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -33,9 +33,7 @@ $stderr.sync = true require 'json' ON_CI = !ENV.fetch('CI', '').empty? -if ON_CI - qe.qemu_dir = "/usr/local/share/qemu" -end + def gen_script(machine_name, worker: false, base: false) no_submissions = !ENV.fetch('NO_SUBMISSIONS', '').empty? reinstall = ENV.has_key?('VAGRANT_BOX') || base @@ -246,7 +244,8 @@ Vagrant.configure(2) do |config| override.vm.box = base_boxes[:arm_mac_qemu] end end - + + qe.qemu_dir = "/usr/local/share/qemu" qe.memory = "2G" qe.smp = 2 From 72db3cdbdcc2db8eacfd913a8448cbf438bf0c27 Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:39:08 -0700 Subject: [PATCH 71/72] aaaa --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 8a7f0302def..0296d47aa9c 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -245,7 +245,7 @@ Vagrant.configure(2) do |config| end end - qe.qemu_dir = "/usr/local/share/qemu" + # qe.qemu_dir = "/usr/local/share/qemu" qe.memory = "2G" qe.smp = 2 From ec26c3eee43a5e9f2d6bbac2e0cb99c3c86e878e Mon Sep 17 00:00:00 2001 From: Cameron Peterson Date: Wed, 15 May 2024 11:47:35 -0700 Subject: [PATCH 72/72] aaaa --- .github/workflows/save_vm.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/save_vm.yaml b/.github/workflows/save_vm.yaml index 445773d5c29..b5f391e2805 100644 --- a/.github/workflows/save_vm.yaml +++ b/.github/workflows/save_vm.yaml @@ -56,7 +56,7 @@ jobs: # --data-urlencode 'content=The Package Vagrant VM Github Action has failed for Virtual-Box, this means the VM is not saved, and requires attention. View here: https://github.com/Submitty/Submitty/actions/runs/${{ github.run_id }}/job/${{ steps.get-job-id.outputs.job_id }}' vagrant-up-qemu: - runs-on: macos-14 + runs-on: macos-13 steps: - name: Checkout code uses: actions/checkout@v4 @@ -65,8 +65,8 @@ jobs: run: | brew install qemu vagrant vagrant plugin install vagrant-qemu - sudo softwareupdate --install-rosetta --agree-to-license - + # sudo softwareupdate --install-rosetta --agree-to-license + qemu-system-aarch64 -accel hvf - name: Build ARM64 Vagrant Box run: | sudo pwpolicy -u runner -sethashtypes SMB-NT on