* Swapping to python-uv for building archinstall
* Tweaked UV parameters to not use a venv
* Tweaking uv to not resolve/install any dependencies during installation.
* Added remaining dependencies to the build runner
* Swapped to uv for publishing, using pypi 'trusted publisher' instead of token access
* Installing uv and dependencies for publishing
* Swapped to uv in the building of the test ISO
* Using JSON endpoint instead of ASCII endpoint for mirror listing, as the JSON endpoint is cached and easier to parse
* Added a TODO to handle unknown regional mirrors (which lacks info in the backend)
* Filtered out 'bad' mirrors. Also added a sorting mechanism that uses the mirrors 'score' rather than just the URL name. This will emulate the reflector.service/rankmirrors behavior and thus reducing the need to re-rank the mirrors.
* Added the ability to sort mirrors via latency or download speed using sorted(mirror_list, key=lambda mirror: (mirror.score, mirror.speed)) - but I have not implemented the sorting via the menu yet, and I have not integrated the new MirrorStatus model into the handling of URL's. I still need to figure out where the {region: [url, url]} is being used, so that i can convert to {region: [mirror.url, mirror.url]} logic.
* Converting MirrorStatus model to {mirror: [url, url]}
* Added debug information for /var/log/archinstall/install.log
* Fixing flake8
* Fixed issue where 'dead' mirrors have no score, and thus can't be round():ed
* Forgot to return model validation data after validation
* Improving debug/info output
* Reverting change in #2350 - Writing over instead of appending to mirrorlist
* Mirror URL's reported by the JSON endpoint does not contain the repo format, only the base location for the mirror. So we have to adjust for this.
* pydantic did not honor 'private' variables in 'before' model validator, had to change to 'after' instead.
* Sorted out mypy typing matching the new MirrorStatus model
* Added pydantic as a dependency, it's time!
* Updated workflow to include pydantic
* Added return values from model @property decorators.
* Bump Python in workflow
* Attempting fix to build runner failing
* Appended --break-system-packages since the new changes was introduced in Arch
---------
Co-authored-by: Anton Hvornum <anton@hvornum.se>
* Convert workflow from flit to twine for publishing
* This could be split into two different tasks
* Change build-system toml block to setuptools
* Switch to standardized project block
* Some corrections
* Add build module
* Remove symlinks
* Move example and profiles folders to archinstall
* Create symlinks outside of the archinstall folder
* Add new workflow to build archinstall but not publish for regular commits
* Add build artifacts
* Rename, so it's just archinstall.zip
* Replace symlinks with copies
* Also replace symlinks with copies in python-build.yml
* Revert "Create symlinks outside of the archinstall folder"
This reverts commit d76cf18eaa.
* Revert "Move example and profiles folders to archinstall"
This reverts commit c41c1c9102.
* Revert "Remove symlinks"
This reverts commit fd959e3230.
* Switch up how I'm replacing symlinks with copies
* Explore using flit as the build backend still
* Drop tools.flit.metadata block
* tool.flit.scripts is incompatible with project block
* Remove symlink copy workaround
* This seems to cause an error, until I figure it out, license is specified in classifiers.
* Make authors a list of dicts
* URL correction
* Use more of the new style metadata for flit
* This is redundant; build downloads these in a venv
* project.scripts replaces tool.flit.scripts
* whitespace
* Try explicitly adding symlinks as includes
* Minor whitespacce tweaks
* Add newer build packages to ISO
* Update comment on python-build.yml