Do some better linting (#13)

* Do some better linting

* Update names, Packer version, and more

* Do not lint on push

* More linting and scripting

* Cleanup shellcheck lint

* Add Packer format check

* Fix Packer formatting

* Limit to only one

* Remove generated HCL files

* Only lint checked files

* Use pipes instead

* Improve attempt to build

Actually go back to attempting to build boxes on GitHub. Maybe it will
work better with this structure

* Change to using environment files

* Initialize plugins, first

* More verbose usage of the file

* Do the output properly this time

* PACKER_LOG set to 1

* No need for python3 anymore

* Limit to only one result

* Choose a specific CPU model

* Init separately

* Update actions version

* Add version outputting

* Correct actions version

* Try to execute qemu properly

* Fix CPU model name

* Do not over-subscribe GitHub runners

* Try type instead of command to guard runs

* Do not write to non-existent folder

* Cache packer plugins

* Use ~ instead of /home/greg

* Try the proper path

* Move to intelligent matrix

* Set global env path

* Add lots of waits for VBoxManage on hosted runners

* Add more waits

* Add more waits
This commit is contained in:
Greg Hellings
2023-12-06 10:21:32 -06:00
committed by GitHub
parent 86dfe113a0
commit 634aae8d75
55 changed files with 536 additions and 495 deletions
+20 -2
View File
@@ -5,11 +5,29 @@ class Build:
def __init__(self, distro, version, provider: Provider):
self.distro: str = distro
self.version: str = str(version)
self.provider: str = provider
self.provider: Provider = provider
@property
def var_file(self):
return f"-var-file=distros/{self.distro}/{self.version}/{self.provider.arch}.pkrvars.hcl"
return f"-var-file={self.var_path}"
@property
def matrix(self):
return {
"builder": str(self.provider),
"distro": self.var_path,
"runner": self.provider.runner,
}
@property
def is_github(self) -> bool:
if self.provider.runner is not None:
return True
return False
@property
def var_path(self):
return f"distros/{self.distro}/{self.version}/{self.provider.arch}.pkrvars.hcl"
@property
def only(self):
+8
View File
@@ -5,3 +5,11 @@ class Provider:
def __str__(self) -> str:
return f"{self.name}.{self.arch}"
@property
def runner(self) -> str:
if self.name == "qemu":
return "ubuntu-latest"
elif self.name.startswith("virtualbox"):
return "macos-12"
return None