From cee3d055925c5ce4e890a143b7565bd34d5e11e3 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 4 Mar 2026 09:03:06 -0500 Subject: [PATCH 1/5] Add github action to codespell main on push and PRs Signed-off-by: Yaroslav Halchenko --- .github/workflows/codespell.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 000000000..7c9eafb17 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,23 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [main] + pull_request: + branches: [main] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Codespell + uses: codespell-project/actions-codespell@v2 From 05215a9284bfc77dd9d5ca863a1babf7cad40c5f Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 4 Mar 2026 09:03:10 -0500 Subject: [PATCH 2/5] Add rudimentary codespell config Signed-off-by: Yaroslav Halchenko --- .codespellrc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .codespellrc diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 000000000..4f6fcab78 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,6 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git,.gitignore,.gitattributes,.codespellrc,.npm,.cache,.local +check-hidden = true +# ignore-regex = +# ignore-words-list = From b32ff0fb564ef38296fe8763d23522ee766788a5 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 4 Mar 2026 09:03:31 -0500 Subject: [PATCH 3/5] Fix ambiguous typos requiring context review - widnows -> windows (CHANGELOG.md:249) - "windows builds", not "widows" - miror -> mirror (CHANGELOG.md:1222) - "package mirror", not "minor" - doesnt -> doesn't (windows/cleanup.ps1:16) - contraction - thats -> that's (windows/remove-apps.ps1:52,63) - contraction Signed-off-by: Yaroslav Halchenko Co-Authored-By: Claude Code 2.1.63 / Claude Opus 4.6 --- CHANGELOG.md | 4 ++-- packer_templates/scripts/windows/cleanup.ps1 | 2 +- packer_templates/scripts/windows/remove-apps.ps1 | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c2df364e..bc844bab8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -246,7 +246,7 @@ Markdown table generated at - Updated windows vagrant template to default to 4GB of memory - Default hyperv to generation 2 - Removed EOL OS builds Windows2012r2, Ubuntu 18.04, Ubuntu 22.10, Debian 10 -- Remove use of deprecated chef-solo provisioner and cookbooks for widnows builds +- Remove use of deprecated chef-solo provisioner and cookbooks for windows builds - Add boot_wait variables for each provider - Adjusted default_boot_wait for linux to 5s - Added --vars and --var_files flags @@ -1219,7 +1219,7 @@ Please ensure that Virtualbox is at least 5.1.6 and Vagrant at least 1.8.6 befor - Guest Additions are installed without dkms support [\#332](https://github.com/chef/bento/issues/332) - need to get the correct cacert.pem for AWS on CentOS boxes [\#325](https://github.com/chef/bento/issues/325) - Use the SATA HDD controller for faster disk IO speeds [\#324](https://github.com/chef/bento/issues/324) -- Better package miror for Debian [\#322](https://github.com/chef/bento/issues/322) +- Better package mirror for Debian [\#322](https://github.com/chef/bento/issues/322) - Error building debian7.8-amd-64 [\#319](https://github.com/chef/bento/issues/319) - Fedora kickstart script downloads CA cert bundle over HTTP [\#318](https://github.com/chef/bento/issues/318) - CentOS and Fedora boxes packed without docs? [\#317](https://github.com/chef/bento/issues/317) diff --git a/packer_templates/scripts/windows/cleanup.ps1 b/packer_templates/scripts/windows/cleanup.ps1 index a86ec12bc..3885e2fb5 100644 --- a/packer_templates/scripts/windows/cleanup.ps1 +++ b/packer_templates/scripts/windows/cleanup.ps1 @@ -13,7 +13,7 @@ trap { Exit 1 } -Write-Host 'Run Cleanmgr only if on workstation. Server edition doesnt have cleanmgr.' +Write-Host 'Run Cleanmgr only if on workstation. Server edition doesn''t have cleanmgr.' $osInfo = Get-CimInstance -ClassName Win32_OperatingSystem if ($osInfo.ProductType -eq 1) { # cleanmgr isn't on servers # registry key locations pulled from https://github.com/spjeff/spadmin/blob/master/Cleanmgr.ps1 diff --git a/packer_templates/scripts/windows/remove-apps.ps1 b/packer_templates/scripts/windows/remove-apps.ps1 index ed7ec0f26..b784d01ed 100644 --- a/packer_templates/scripts/windows/remove-apps.ps1 +++ b/packer_templates/scripts/windows/remove-apps.ps1 @@ -49,7 +49,7 @@ if (($PSVersionTable.PSEdition -ne 'Desktop') -and ($build -lt 22000)) { } # remove all the provisioned appx packages. -# NB some packages fail to be removed and thats OK. +# NB some packages fail to be removed and that's OK. Get-AppXProvisionedPackage -Online | ForEach-Object { Write-Host "Removing the $($_.PackageName) provisioned appx package..." try { @@ -60,7 +60,7 @@ Get-AppXProvisionedPackage -Online | ForEach-Object { } # remove appx packages. -# NB some packages fail to be removed and thats OK. +# NB some packages fail to be removed and that's OK. # see https://docs.microsoft.com/en-us/windows/application-management/apps-in-windows-10 @( 'Clipchamp.Clipchamp' From db80e0e4b53ccdac17d1b7567bb6afd2f78abcaa Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 4 Mar 2026 09:03:54 -0500 Subject: [PATCH 4/5] Fix non-ambiguous typos with codespell Fixed typos (codespell -w): - compatability -> compatibility (CHANGELOG.md) - compatable -> compatible (CHANGELOG.md x4) - Porposal -> Proposal (CHANGELOG.md) - metdata -> metadata (CHANGELOG.md) - intead -> instead (CHANGELOG.md) - seperated -> separated (README.md x2, lib/bento/cli.rb x2) - incomming -> incoming (README.md) - specfic -> specific (lib/bento/cli.rb) - polularity -> popularity (debian/preseed.cfg) - belogs -> belongs (suse/vagrant_group_suse.sh) - neccesary -> necessary (windows/cleanup.ps1) - administraor -> administrator (windows/remove-one-drive-and-teams.ps1 x2) - Sucessfully -> Successfully (windows/remove-one-drive-and-teams.ps1 x2) Signed-off-by: Yaroslav Halchenko Co-Authored-By: Claude Code 2.1.63 / Claude Opus 4.6 --- CHANGELOG.md | 16 ++++++++-------- README.md | 6 +++--- lib/bento/cli.rb | 6 +++--- packer_templates/http/debian/preseed.cfg | 2 +- .../scripts/suse/vagrant_group_suse.sh | 2 +- packer_templates/scripts/windows/cleanup.ps1 | 2 +- .../windows/remove-one-drive-and-teams.ps1 | 8 ++++---- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc844bab8..78ab39d09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -273,7 +273,7 @@ Markdown table generated at ## [v3.1.0] (2023-05-17) -- Updated VMware disk and cdrom adaptor type to sata for aarch64 build compatability +- Updated VMware disk and cdrom adaptor type to sata for aarch64 build compatibility - Added "arm-" to aarch64 pkrvars files vmware_guest_os_type - Fixed readme example for bento debian build - Added pkrvars file for amazon 2023, more work needed to build vagrant box if/when amazon releases images for providers @@ -307,7 +307,7 @@ Markdown table generated at - Fix failing builds - Finish removal of deprecated chef-solo provider to powershell provider for windows - migrate from http directory for hosting files to cd_files in source templates - - This makes all builds compatable with hyper-v gen 2 which removes floppy disk capability + - This makes all builds compatible with hyper-v gen 2 which removes floppy disk capability - This also makes things universal for Virtualbox 6.1 to 7.x due to latter requiring extra config for guests on NAT to be able to connect to host - Update pipelines to only run on updated pkrvars files @@ -341,7 +341,7 @@ Markdown table generated at - Finish removal of deprecated chef-solo provider to powershell provider for windows - migrate from http directory for hosting files to cd_files in source templates - - This makes all builds compatable with hyper-v gen 2 which removes floppy disk capability + - This makes all builds compatible with hyper-v gen 2 which removes floppy disk capability - This also makes things universal for Virtualbox 6.1 to 7.x due to latter requiring extra config for guests on NAT to be able to connect to host - Update pipelines to only run on updated pkrvars files @@ -385,7 +385,7 @@ Markdown table generated at - Add more Virtualization providers to build pipelines - Finish removal of deprecated chef-solo provider to powershell provider for windows - migrate from http directory for hosting files to cd_files in source templates - - This makes all builds compatable with hyper-v gen 2 which removes floppy disk capability + - This makes all builds compatible with hyper-v gen 2 which removes floppy disk capability - This also makes things universal for Virtualbox 6.1 to 7.x due to latter requiring extra config for guests on NAT to be able to connect to host - Update pipelines to only run on updated pkrvars files @@ -465,7 +465,7 @@ Markdown table generated at - Add more Virtualization providers to build pipelines - Finish removal of deprecated chef-solo provider to powershell provider for windows - migrate from http directory for hosting files to cd_files in source templates - - This makes all builds compatable with hyper-v gen 2 which removes floppy disk capability + - This makes all builds compatible with hyper-v gen 2 which removes floppy disk capability - This also makes things universal for Virtualbox 6.1 to 7.x due to latter requiring extra config for guests on NAT to be able to connect to host - Update pipelines to only run on updated pkrvars files @@ -1045,7 +1045,7 @@ Please ensure that Virtualbox is at least 5.1.6 and Vagrant at least 1.8.6 befor - RHEL 6.7 image has wrong guest [\#501](https://github.com/chef/bento/issues/501) - Fedora 23 x86\_64 and virtualbox: no vboxsf [\#500](https://github.com/chef/bento/issues/500) - Broken url on description [\#493](https://github.com/chef/bento/issues/493) -- Porposal Fedora 23 [\#491](https://github.com/chef/bento/issues/491) +- Proposal Fedora 23 [\#491](https://github.com/chef/bento/issues/491) - Ubuntu 15.10 [\#482](https://github.com/chef/bento/issues/482) - /dev/sr0 is readonly [\#480](https://github.com/chef/bento/issues/480) - Ubuntu 14.04 Fails to build with bento/packer [\#477](https://github.com/chef/bento/issues/477) @@ -1276,7 +1276,7 @@ Please ensure that Virtualbox is at least 5.1.6 and Vagrant at least 1.8.6 befor - \[macosx-\*\] Add support for {http,https,no}\_proxy environment variables. [\#391](https://github.com/chef/bento/pull/391) ([fnichol](https://github.com/fnichol)) - Remove files that are no longer referenced by any templates. [\#390](https://github.com/chef/bento/pull/390) ([fnichol](https://github.com/fnichol)) - \[macosx-\*\] Improve DRYness & correctness of Mac templates. [\#389](https://github.com/chef/bento/pull/389) ([fnichol](https://github.com/fnichol)) -- Add provider metadata to metdata files on build. [\#387](https://github.com/chef/bento/pull/387) ([fnichol](https://github.com/fnichol)) +- Add provider metadata to metadata files on build. [\#387](https://github.com/chef/bento/pull/387) ([fnichol](https://github.com/fnichol)) - updated debian's download redirector address [\#386](https://github.com/chef/bento/pull/386) ([rmoriz](https://github.com/rmoriz)) - preliminary debian 8.1 templates [\#385](https://github.com/chef/bento/pull/385) ([rmoriz](https://github.com/rmoriz)) - Add Mac OS X 10.10 template. [\#384](https://github.com/chef/bento/pull/384) ([fnichol](https://github.com/fnichol)) @@ -1291,7 +1291,7 @@ Please ensure that Virtualbox is at least 5.1.6 and Vagrant at least 1.8.6 befor - \[ubuntu-12.04-\*\] Update URL paths to use 12.04.5. [\#359](https://github.com/chef/bento/pull/359) ([fnichol](https://github.com/fnichol)) - Remove VeeWee definitions from project [\#358](https://github.com/chef/bento/pull/358) ([fnichol](https://github.com/fnichol)) - Add packer/bin/bento for building templates. [\#357](https://github.com/chef/bento/pull/357) ([fnichol](https://github.com/fnichol)) -- update README to point to Boxcutter intead of basebox [\#354](https://github.com/chef/bento/pull/354) ([OBrienCommaJosh](https://github.com/OBrienCommaJosh)) +- update README to point to Boxcutter instead of basebox [\#354](https://github.com/chef/bento/pull/354) ([OBrienCommaJosh](https://github.com/OBrienCommaJosh)) - Add MAINTAINERS.md file. [\#347](https://github.com/chef/bento/pull/347) ([fnichol](https://github.com/fnichol)) - Add RHEL 7.1 JSON file. [\#342](https://github.com/chef/bento/pull/342) ([lopaka](https://github.com/lopaka)) - Solaris 10u11 - zfs base box [\#341](https://github.com/chef/bento/pull/341) ([scotthain](https://github.com/scotthain)) diff --git a/README.md b/README.md index e0b1301bb..51c172100 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,8 @@ Other available options: - --mem - Specify the memory - --config - Use a configuration file other than default builds.yml - --on-error - Choose what to do if a build fails -- --vars - Comma seperated list of variable names equal values (ex: boot_wait="2s",ssh_timeout="5s") -- --var_files - Comma seperated list of pkrvar.hcl files to include in the builds (ex: /path/to/var_file.pkrvars.hcl,/path/to/next/var_file2.pkrvars.hcl) +- --vars - Comma separated list of variable names equal values (ex: boot_wait="2s",ssh_timeout="5s") +- --var_files - Comma separated list of pkrvar.hcl files to include in the builds (ex: /path/to/var_file.pkrvars.hcl,/path/to/next/var_file2.pkrvars.hcl) - --metadata-only - Only generate the metadata json file - --mirror - The template will have a default mirror link, if you wish to use an alternative one, you can utilise this configuration - --dry-run - This will not create any build, but will create a metadata file for reference @@ -168,7 +168,7 @@ Most of the providers expect unrestricted access to networking in order to build ```powershell $VS = "Standardswitch" $IF_ALIAS = (Get-NetAdapter -Name "vEthernet ($VS)").ifAlias -New-NetFirewallRule -Displayname "Allow incomming from $VS" -Direction Inbound -InterfaceAlias $IF_ALIAS -Action Allow +New-NetFirewallRule -Displayname "Allow incoming from $VS" -Direction Inbound -InterfaceAlias $IF_ALIAS -Action Allow ``` #### Hyper-V Generation 2 VM's diff --git a/lib/bento/cli.rb b/lib/bento/cli.rb index 9bac87426..21a2cd9ca 100644 --- a/lib/bento/cli.rb +++ b/lib/bento/cli.rb @@ -89,11 +89,11 @@ def self.parse(args) options.on_error = opt end - opts.on('--vars VARS', 'Comma seperated list of variable names equal values (ex: boot_wait="2s",ssh_timeout="5s")') do |opt| + opts.on('--vars VARS', 'Comma separated list of variable names equal values (ex: boot_wait="2s",ssh_timeout="5s")') do |opt| options.vars = opt end - opts.on('--var_files VAR_FILES', 'Comma seperated list of pkrvar.hcl files to include in the builds (ex: /path/to/var_file.pkrvars.hcl,/path/to/next/var_file2.pkrvars.hcl)') do |opt| + opts.on('--var_files VAR_FILES', 'Comma separated list of pkrvar.hcl files to include in the builds (ex: /path/to/var_file.pkrvars.hcl,/path/to/next/var_file2.pkrvars.hcl)') do |opt| options.var_files = opt end @@ -165,7 +165,7 @@ def self.parse(args) options.no_shared = opt end - opts.on('-p', '--provisioner PROVISIONER', 'Use a specfic provisioner') do |opt| + opts.on('-p', '--provisioner PROVISIONER', 'Use a specific provisioner') do |opt| options.provisioner = opt end end, diff --git a/packer_templates/http/debian/preseed.cfg b/packer_templates/http/debian/preseed.cfg index 98f5d19dd..d7d2f8577 100644 --- a/packer_templates/http/debian/preseed.cfg +++ b/packer_templates/http/debian/preseed.cfg @@ -85,7 +85,7 @@ apt-mirror-setup apt-setup/use_mirror boolean true d-i pkgsel/update-policy select none d-i pkgsel/upgrade select full-upgrade -# Disable polularity contest +# Disable popularity contest popularity-contest popularity-contest/participate boolean false # Select base install diff --git a/packer_templates/scripts/suse/vagrant_group_suse.sh b/packer_templates/scripts/suse/vagrant_group_suse.sh index ad82963f8..701839cd5 100644 --- a/packer_templates/scripts/suse/vagrant_group_suse.sh +++ b/packer_templates/scripts/suse/vagrant_group_suse.sh @@ -1,6 +1,6 @@ #!/bin/sh -eux -# User 'vagrant' belogs to the 'users' group by default so we need to +# User 'vagrant' belongs to the 'users' group by default so we need to # create a new group 'vagrant' and put our user there. groupadd -f vagrant diff --git a/packer_templates/scripts/windows/cleanup.ps1 b/packer_templates/scripts/windows/cleanup.ps1 index 3885e2fb5..0ac58b81b 100644 --- a/packer_templates/scripts/windows/cleanup.ps1 +++ b/packer_templates/scripts/windows/cleanup.ps1 @@ -29,7 +29,7 @@ if ($osInfo.ProductType -eq 1) { # cleanmgr isn't on servers Write-Host 'Starting CleanMgr.exe...' Start-Process -FilePath CleanMgr.exe -ArgumentList '/sagerun:1' -Wait # -WindowStyle Hidden - Write-Host 'Waiting for CleanMgr and DismHost processes. Second wait neccesary as CleanMgr.exe spins off separate processes.' + Write-Host 'Waiting for CleanMgr and DismHost processes. Second wait necessary as CleanMgr.exe spins off separate processes.' Get-Process -Name cleanmgr,dismhost -ErrorAction SilentlyContinue | Wait-Process } diff --git a/packer_templates/scripts/windows/remove-one-drive-and-teams.ps1 b/packer_templates/scripts/windows/remove-one-drive-and-teams.ps1 index f3724d959..300fdb78c 100644 --- a/packer_templates/scripts/windows/remove-one-drive-and-teams.ps1 +++ b/packer_templates/scripts/windows/remove-one-drive-and-teams.ps1 @@ -36,7 +36,7 @@ function Takeown-Registry($key) { } } - # get administraor group + # get administrator group $admins = New-Object System.Security.Principal.SecurityIdentifier("S-1-5-32-544") $admins = $admins.Translate([System.Security.Principal.NTAccount]) @@ -57,7 +57,7 @@ function Takeown-File($path) { takeown.exe /A /F $path $acl = Get-Acl $path - # get administraor group + # get administrator group $admins = New-Object System.Security.Principal.SecurityIdentifier("S-1-5-32-544") $admins = $admins.Translate([System.Security.Principal.NTAccount]) @@ -178,7 +178,7 @@ Write-Host "Stopping Teams Process" -ForegroundColor Yellow try{ Get-Process -ProcessName Teams | Stop-Process -Force Start-Sleep -Seconds 3 - Write-Host "Teams Process Sucessfully Stopped" -ForegroundColor Green + Write-Host "Teams Process Successfully Stopped" -ForegroundColor Green }catch{ Write-Host $_ } @@ -202,7 +202,7 @@ Write-Host "Stopping IE Process" -ForegroundColor Yellow try{ Get-Process -ProcessName MicrosoftEdge | Stop-Process -Force Get-Process -ProcessName IExplore | Stop-Process -Force - Write-Host "Internet Explorer and Edge Processes Sucessfully Stopped" -ForegroundColor Green + Write-Host "Internet Explorer and Edge Processes Successfully Stopped" -ForegroundColor Green }catch{ Write-Host $_ } From b1c809c3f26625ba98fcaa1c3b996b5fb0903140 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 4 Mar 2026 10:53:17 -0500 Subject: [PATCH 5/5] Move codespell into existing ci-lint.yml workflow Also add push/PR triggers to ci-lint.yml alongside the existing weekly schedule. Signed-off-by: Yaroslav Halchenko Co-Authored-By: Claude Code 2.1.63 / Claude Opus 4.6 --- .github/workflows/ci-lint.yml | 10 ++++++++++ .github/workflows/codespell.yml | 23 ----------------------- 2 files changed, 10 insertions(+), 23 deletions(-) delete mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/ci-lint.yml b/.github/workflows/ci-lint.yml index f9e0e5894..ebc84ac24 100644 --- a/.github/workflows/ci-lint.yml +++ b/.github/workflows/ci-lint.yml @@ -34,3 +34,13 @@ jobs: packer-lint: uses: chef/github-workflows/.github/workflows/packer-lint.yml@main secrets: inherit + + # Codespell configuration is within .codespellrc + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Codespell + uses: codespell-project/actions-codespell@v2 diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml deleted file mode 100644 index 7c9eafb17..000000000 --- a/.github/workflows/codespell.yml +++ /dev/null @@ -1,23 +0,0 @@ -# Codespell configuration is within .codespellrc ---- -name: Codespell - -on: - push: - branches: [main] - pull_request: - branches: [main] - -permissions: - contents: read - -jobs: - codespell: - name: Check for spelling errors - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Codespell - uses: codespell-project/actions-codespell@v2