Commit Graph

129 Commits

Author SHA1 Message Date
correctmost 6ba0e5c441
Fix minor copy/paste errors in GitHub workflow configs (#2672) 2024-09-08 08:08:55 +10:00
correctmost 8391668a2e
Add ruff linting support (#2654) 2024-08-29 13:51:12 +02:00
correctmost 35c8eb3394
Fix unnecessary f-strings and enable flake8 rule (#2653) 2024-08-29 03:01:55 +10:00
correctmost 62b4099c8d
Fix whitespace issues detected by flake8 (#2652)
This commit also removes exclusions that are no longer needed.
2024-08-29 01:40:53 +10:00
correctmost 7b5f1f72f9
Expand mypy checks to include more files and more checks (#2651)
This commit also centralizes the mypy configuration in one spot.
2024-08-29 00:39:22 +10:00
Anton Hvornum 98518e444a
Use `/mirrors/status/json/` instead of `/mirrorlist/` to get mirror lists (#2599)
* 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.
2024-08-02 15:24:44 +02:00
Daniel Girtler aa87fb1db5
Strict mypy - Phase 1 (#2533)
* Strict mypy for examples/
2024-06-13 21:35:54 +02:00
renovate[bot] 3f4fbed7b7
chore(deps): update peaceiris/actions-gh-pages action to v4 (#2451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 19:00:55 +10:00
Brock Vojkovic 4505f6febb
Switch from weekly official to daily official image (https://github.com/archlinux/archinstall/issues/2443) (#2453) 2024-04-11 07:33:00 +02:00
renovate[bot] 214f82d43e
chore(deps): update actions/upload-artifact action to v4 (#2369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 15:07:14 +01:00
renovate[bot] 9ae1048262
chore(deps): update actions/setup-python action to v5 (#2289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 15:06:19 +01:00
Mário Victor Ribeiro Silva 8885d92485
build(gh-pages): change rule to docs build (#2269) 2023-11-27 13:41:34 +01:00
renovate[bot] 03c1989270
Update actions/setup-python action to v4 (#2236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-24 08:13:41 +01:00
renovate[bot] 64c91cdbcb
Update actions/checkout action to v4 (#2235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-23 18:14:41 +01:00
Anton Hvornum 922f6082b5
Added a CNAME file, as well as removed some debugging (#2240) 2023-11-21 23:56:39 +01:00
Anton Hvornum e73ac39a7e
It appears jekyll might be needed? (#2239)
* It appears jekyll might be needed? https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-enable-built-in-jekyll-enable_jekyll

* Added some debugging

* Maybe jekyll is not needed?
2023-11-21 23:45:55 +01:00
Anton Hvornum 349c21d7a2
GitHub pages improvement (#2237)
* Moved to arch container

* Swapped branch for testing

* Removed publish if condition for now

* I think I got it this time, publish_branch has to be separate in order for the runner to create it and have access to pushing things?

* Missing 'git' depndency, to work with git heh
2023-11-21 23:02:47 +01:00
Anton Hvornum f02af54356
Testing github pages (#2234)
* Testing github pages

* Adding libparted-dev to the ubuntu machine (I'd like to move away from ubuntu, but the runner recommended it)

* Debugging

* changed to master branch
2023-11-21 22:27:10 +01:00
Daniel Girtler 1e296b2637
Fix 2118 (#2119)
* Update locales generation

* Update README

* Disable translation check

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-28 08:44:18 +10:00
K.B.Dharun Krishna abd5aeba6a
po: update Tamil translation (#2096)
* po: update Tamil translation

* Update translation workflow check

* Update translation workflow check

* Update translation workflow check

* Update translation files

* Update translation workflow check

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-24 11:03:04 +10:00
Daniel Girtler 91c2906f3c
Fix broken action check (#2060)
* Fix broken action check
2023-09-17 22:12:34 +10:00
Daniel Girtler be7ffbdd7e Update 2023-09-05 21:38:56 +10:00
Daniel Girtler bcf1eb3e36 Update 2023-09-05 21:32:30 +10:00
Daniel Girtler d93bf84e59 Fix github action 2023-09-05 21:21:08 +10:00
Anton Hvornum 10fca1611d
Added some debug output to see why the locales check errors out on no bash script (#1931) 2023-07-17 09:34:10 +02:00
codefiles 0785b35eb4
Bump Python in workflow (#1863)
* 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>
2023-06-28 14:51:07 +02:00
Daniel Girtler 21bf87f234
Fix workflows and checks (#1872)
* Update translation workflow

* Fix broken checks

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-06-21 09:50:28 +02:00
Daniel Girtler 92b0d0f833
Fixes 1861 (#1870)
* Fix translation files

* Add github action

* Update

* Update

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-06-14 00:26:15 +02:00
Daniel Girtler 89cefb9a1c
Cleanup imports and unused code (#1801)
* Cleanup imports and unused code

* Update build check

* Keep deprecation exception

* Simplify logging

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-11 18:30:09 +02:00
Daniel Girtler ec4ecbcb7a
Full mypy compliance and small fixes (#1777)
* Fix mypy compliance

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-03 16:36:46 +02:00
Daniel Girtler 00b0ae7ba4
PyParted and a large rewrite of the underlying partitioning (#1604)
* Invert mypy files

* Add optional pre-commit hooks

* New profile structure

* Serialize profiles

* Use profile instead of classmethod

* Custom profile setup

* Separator between back

* Support profile import via url

* Move profiles module

* Refactor files

* Remove symlink

* Add user to docker group

* Update schema description

* Handle list services

* mypy fixes

* mypy fixes

* Rename profilesv2 to profiles

* flake8

* mypy again

* Support selecting DM

* Fix mypy

* Cleanup

* Update greeter setting

* Update schema

* Revert toml changes

* Poc external dependencies

* Dependency support

* New encryption menu

* flake8

* Mypy and flake8

* Unify lsblk command

* Update bootloader configuration

* Git hooks

* Fix import

* Pyparted

* Remove custom font setting

* flake8

* Remove default preview

* Manual partitioning menu

* Update structure

* Disk configuration

* Update filesystem

* luks2 encryption

* Everything works until installation

* Btrfsutil

* Btrfs handling

* Update btrfs

* Save encryption config

* Fix pipewire issue

* Update mypy version

* Update all pre-commit

* Update package versions

* Revert audio/pipewire

* Merge master PRs

* Add master changes

* Merge master changes

* Small renaming

* Pull master changes

* Reset disk enc after disk config change

* Generate locals

* Update naming

* Fix imports

* Fix broken sync

* Fix pre selection on table menu

* Profile menu

* Update profile

* Fix post_install

* Added python-pyparted to PKGBUILD, this requires [testing] to be enabled in order to run makepkg. Package still works via python -m build etc.

* Swaped around some setuptools logic in pyproject

Since we define `package-data` and `packages` there should be no need for:
```
[tool.setuptools.packages.find]
where = ["archinstall", "archinstall.*"]
```

* Removed pyproject collisions. Duplicate definitions.

* Made sure pyproject.toml includes languages

* Add example and update README

* Fix pyproject issues

* Generate locale

* Refactor imports

* Simplify imports

* Add profile description and package examples

* Align code

* Fix mypy

* Simplify imports

* Fix saving config

* Fix wrong luks merge

* Refactor installation

* Fix cdrom device loading

* Fix wrongly merged code

* Fix imports and greeter

* Don't terminate on partprobe error

* Use specific path on partprobe from luks

* Update archinstall/lib/disk/device_model.py

Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>

* Update archinstall/lib/disk/device_model.py

Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>

* Update github workflow to test archinstall installation

* Update sway merge

* Generate locales

* Update workflow

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>
2023-04-19 12:55:42 +02:00
Anton Hvornum 2a17ba9833
Replacing flit (#1655)
* Replacing flit

* Removed python-flit as a dependency

* Removed note about flit

* Removed flit references in pyproject.toml
2023-02-27 23:51:22 +01:00
Daniel Girtler c3862c5779
New encryption menu (#1520)
* New encryption menu

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-11-11 09:40:05 +01:00
Daniel Girtler 40e4046633
Exclude archiso devices from selectable blockdevices (#1481)
* Exclude liveusb from disk selection

* Exclude arch iso from being an option

* Update

* Update

* Update

* Mypy

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-10-03 16:37:57 +02:00
Sven Serlier 01d44c5a3a
Update actions (#1362)
* Update actions/checkout to v3

* Update actions/checkout to v3

* Update actions

* Update actions/checkout to v3

* Update actions/checkout to v3

* Update actions

* Update actions
2022-09-02 12:30:47 +02:00
Daniel Girtler cfea0d6d1a
Update translations (#1348)
* Show translations in own tongue

* Fix flake8

* Update

* Update

* Update

* Update

* fix mypy

* Update

* Update

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-08-01 09:44:57 +02:00
Daniel Girtler fd131c8fe9
Update blockdevice (#1289)
* Update blockdevice class

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-06-07 11:00:48 +02:00
Daniel Girtler a7ca037a26
Update the subvolume menu - fix for #1278 (#1297)
* Update subvolume

* Add mypy compliance

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-06-06 17:28:46 +02:00
Daniel Girtler 2d4b262046
Handle cyrillic characters (#1309)
* Handle cyrillic characters

* Update

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-06-06 17:26:27 +02:00
Daniel Girtler 870da403e7
Rework user management (#1220)
* Rework users

* Update user installation

* Fix config serialization

* Update

* Update schemas and documentation

* Update

* Fix flake8

* Make users mypy compatible

* Fix minor copy

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-05-26 21:48:29 +02:00
Daniel Girtler 65a5a335aa
Enhance view (#1210)
* Add preview for menu entries

* Fix mypy

* Update

* Update

* Fix mypy

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-05-18 13:59:49 +02:00
Anton Hvornum 621adc9580
Adding pacman-key --init to ISO runner 2022-04-26 22:24:28 +02:00
Anton Hvornum 3b5d7cdb16
--noconfirm to pacman upgrade 2022-04-26 22:19:03 +02:00
Anton Hvornum a9f2e0db2e
pacman-key --ref.. -> pacman -S archlinux-keyring 2022-04-26 22:16:35 +02:00
Anton Hvornum 166cf4a590
archlinux-keyring -> pacman-key 2022-04-26 22:06:22 +02:00
Anton Hvornum 4b00564994
Adding in a refresh of keyring before building ISO 2022-04-26 22:03:45 +02:00
Daniel 477b5b120e
Support for multiple network interfaces (#1052)
* Support for multiple network interfaces

* Fix mypy

* Fix flake8

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-04-22 13:24:12 +02:00
Anton Hvornum 7f0ccbe87e
Reverted mypy runner changes 2022-03-29 10:35:18 +02:00
Daniel c92c448f29
Fix some mypy things (#1023)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-03-28 14:14:45 +02:00
Dylan M. Taylor 2c897cdcc6
Leverage same build system used by PyPi in the ArchInstall ISO (#973)
* Leverage same build system used by PyPi in the ArchInstall ISO

* 3.6.0 is not in the archinstall repos yet. Use 3.5.1 so ISOs don't need networking to build.
2022-02-12 23:43:22 +01:00
Dylan M. Taylor 532f0fdc3a
Various Build System Improvements (#971)
* 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
2022-02-12 22:29:12 +01:00
Anton Hvornum e32cf71ae7
Added type annotations to all functions (#845)
* Added type annotations for 1/5 of the files.

There's bound to be some issues with type miss-match, will sort that out later.

* Added type hints for 4/5 of the code

* Added type hints for 4.7/5 of the code

* Added type hints for 5/5 of the code base

* Split the linters into individual files

This should help with more clearly show which runner is breaking since they don't share a single common name any longer. Also moved mypy settings into pyproject.toml

* Fixed some of the last flake8 issues

* Missing parameter

* Fixed invalid lookahead types

* __future__ had to be at the top

* Fixed last flake8 issues
2022-01-06 22:01:15 +01:00
Anton Hvornum 5d4673cfff
Only create pypi releases on publishing a release
Since we can create them, but as draft or locally through tagging. It's best to safe bet this to only published releases. Worst case manual submission has to be done.
2021-11-25 12:08:43 +00:00
Christian Clauss 52dbccea5e Tighten up flake8 tests used by lint_python GitHub Action 2021-10-04 11:08:21 +02:00
Dylan M. Taylor 35578a0d3a
Proposal: use iso-build for releases 2021-05-22 17:02:12 -04:00
Dylan Taylor b2d20647fc Some additional formatting 2021-05-15 12:46:23 -04:00
Dylan M. Taylor b242455121
Prevent mypy from producing errors 2021-05-15 10:46:14 -04:00
Dylan M. Taylor 2d5564a7c2
Further split out pytest; TODO: add tests. 2021-05-15 09:57:10 -04:00
Dylan M. Taylor be94c7d5fe
Split into separate jobs 2021-05-15 09:54:08 -04:00
Dylan M. Taylor 843cd6cf0f
Update lint-python.yaml 2021-05-15 09:45:50 -04:00
Dylan M. Taylor ad444caf9d
Bring in some of the good CI changes from #411 2021-05-15 09:27:40 -04:00
advaithm cee1b732b9
an example mypy workflow 2021-05-12 16:11:37 +05:30
Anton Hvornum 9fd87a4b53
Update python-publish.yml 2021-04-28 21:30:48 +02:00
Dylan M. Taylor 7beccba395
Avoid some word wrapping on smaller consoles like VirtualBox. 2021-04-28 08:59:01 -04:00
Dylan M. Taylor 939fae0b1a Include the commit SHA in the ISO
Update iso-build.yaml with wording change, cat out .zprofile for debugging, and make it so workflow edits trigger builds.
2021-04-27 22:21:05 -04:00
Anton Hvornum ae1c4ea7c2
Merge pull request #337 from dylanmtaylor/patch-4
Run CI on pushes to master/main
2021-04-27 12:12:36 +00:00
Dylan M. Taylor d401820381
Run CI on pushes to master/main 2021-04-22 14:35:05 -04:00
Anton Hvornum 5fba277dda Merging in master to feature branch. 2021-04-17 09:52:09 +02:00
Dylan M. Taylor 88071ef9c0
.toml files could also possibly affect behavior. 2021-04-15 18:47:34 -04:00
Dylan M. Taylor 769a5b5f74
These could affect whether the code builds/runs correctly
They should not be ignored.
2021-04-15 18:46:44 -04:00
Anton Hvornum 3279de08ad
Revert `README` addition, it's catched by **.md 2021-04-15 21:07:06 +02:00
Anton Hvornum 0128ae6647
Added README to ignore 2021-04-15 20:55:36 +02:00
Владислав 6264099428
Add ignore rules for iso-build.yaml
These rules ignore all unrelated files and folders that are not needed to build the ISO.
2021-04-15 21:09:02 +03:00
advaithm 413565dbd0 moved to flit build system 2021-04-12 19:39:23 +05:30
Dylan M. Taylor 584a2c465f Pull in iso-build.yaml from master to generate a test ISO 2021-04-12 07:44:13 -04:00
Dylan M. Taylor 2321a7afce
Update iso-build.yaml 2021-04-11 14:53:06 -04:00
Dylan M. Taylor 0762a7173c Automatically change directory and replace archinstall on boot 2021-04-10 17:59:59 -04:00
Dylan M. Taylor 92b8143743 Build Arch Live ISO with Each Commit
The bind mount is probably not necessary
2021-04-10 17:32:43 -04:00
Anton Hvornum 233886f9c5
Created a GitHub action to publish to pypi 2021-03-22 13:58:35 +01:00