Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Windows 11 VM #11764

Merged
merged 1 commit into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion scripts/vms/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ Then, everything is removed.
| [`fedora`](fedora/) | source | -- | -- | -- |
| [`Linux Mint (Cinnamon)`](linux-mint-cinnamon/) | source | Firefox | yes | -- |
| [`ubuntu`](ubuntu/) | snap | Firefox | yes | -- |
| [`windows`](windows/) | source | Edge | -- | -- |
| [`windows 10`](windows10/) | source | Edge | -- | -- |
| [`windows 11`](windows11/) | source | Edge | -- | -- |

## Troubleshooting

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Windows VM
# Windows 10 VM

A Windows-based VM to test JabRef.
As user, you need to ensure to have the proper Windows license to use this VM.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

NAME = "jabref-windows-sandbox"
NAME = "jabref-windows-10-sandbox"

Vagrant.configure("2") do |config|
config.vm.box = "gusztavvargadr/windows-10"
Expand Down
49 changes: 49 additions & 0 deletions scripts/vms/windows11/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Windows 11 VM

A Windows-based VM to test JabRef.
As user, you need to ensure to have the proper Windows license to use this VM.

In case you have many CPU cores, you can adapt `vb.cpus` in `Vagrantfile` to a higher number.

One has to install the [JabRef Browser Extension](https://addons.mozilla.org/en-US/firefox/addon/jabref/) manually.

## Troubleshooting

### "Waiting for machine to reboot..."

In case Vagrant reports "Waiting for machine to reboot..." and nothing happens, one has to "power off" the machine, execute `vagrant destory`, and then run `vagrant up` again.

### `fatal: early EOF`

```console
jabref-windows-sandbox: Cloning into 'jabref'...
jabref-windows-sandbox: error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
jabref-windows-sandbox: error: 6846 bytes of body are still expected
jabref-windows-sandbox: fetch-pack: unexpected disconnect while reading sideband packet
jabref-windows-sandbox: fatal: early EOF
jabref-windows-sandbox: fatal: fetch-pack: invalid index-pack output
```

The `git clone` command did not work.

Login, open `cmd` and then execute following commands:

```cmd
git clone --recurse-submodules https://github.com/JabRef/jabref.git
cd jabref
gradlew run
```

## Background

`Vagrantfile` is based on [SeisoLLC/windows-sandbox](https://github.com/SeisoLLC/windows-sandbox/tree/main).

The most use image seems to be the [Windows 10 image by `gusztavvargadr`](https://portal.cloud.hashicorp.com/vagrant/discover/gusztavvargadr/windows-10).
List of all images at <https://portal.cloud.hashicorp.com/vagrant/discover/gusztavvargadr>.

[Chocolatey](https://chocolatey.org/) is used instead of [winget-cli](https://learn.microsoft.com/en-us/windows/package-manager/), because Chocolatey installation does not hit GitHub's rate limits during unattended installation.

## Atlernatives

- Atlernative Vagrant images: <https://app.vagrantup.com/boxes/search?q=windows+10&utf8=%E2%9C%93>.
- [Windows Sandbox](https://learn.microsoft.com/en-us/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview)
46 changes: 46 additions & 0 deletions scripts/vms/windows11/Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

NAME = "jabref-windows-11-sandbox"

Vagrant.configure("2") do |config|
# config.vm.box = "Caden/windows-11-pro-jp-22h2-22621.1992"
config.vm.box = "stromweld/windows-11"

config.vm.define NAME
config.vm.hostname = NAME

config.vm.provider "virtualbox" do |vb|
vb.name = NAME

vb.memory = 6000
vb.cpus = 2

vb.customize ['modifyvm', :id, '--clipboard-mode', 'bidirectional']
vb.gui = true
end

config.vm.provision "shell", privileged: "true", powershell_elevated_interactive: "true", inline: <<-SHELL
# Install chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
choco feature enable -n=allowGlobalConfirmation

choco install libericajdk
choco install git.install -y --params "/GitAndUnixToolsOnPath /WindowsTerminal /WindowsTerminalProfile"

# Required by AI functionaltiy
choco choco install vcredist140

# choco install firefox
# choco install libreoffice-fresh
SHELL

config.vm.provision "shell", reboot: true

config.vm.provision "shell", privileged: "false", inline: <<-SHELL
cd \\users\\vagrant
git clone --depth=1 --recurse-submodules https://github.com/JabRef/jabref.git
# cd jabref
# .\\gradlew jar
SHELL
end
Loading