initial commit
This commit is contained in:
12
examples/archinstall/.github/workflows/bandit.yaml
vendored
Normal file
12
examples/archinstall/.github/workflows/bandit.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
on: [ push, pull_request ]
|
||||
name: Bandit security checkup
|
||||
jobs:
|
||||
bandit:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- run: pacman --noconfirm -Syu bandit
|
||||
- name: Security checkup with Bandit
|
||||
run: bandit -r archinstall || exit 0
|
||||
23
examples/archinstall/.github/workflows/flake8.yaml
vendored
Normal file
23
examples/archinstall/.github/workflows/flake8.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
on: [ push, pull_request ]
|
||||
name: flake8 linting
|
||||
jobs:
|
||||
flake8:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- name: Prepare arch
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman --noconfirm -Sy archlinux-keyring
|
||||
pacman --noconfirm -Syyu
|
||||
pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc
|
||||
- run: pip install --break-system-packages --upgrade pip
|
||||
# this will install the exact version of flake8 that is in the pyproject.toml file
|
||||
- name: Install archinstall dependencies
|
||||
run: pip install --break-system-packages .[dev]
|
||||
- run: python --version
|
||||
- run: flake8 --version
|
||||
- name: Lint with flake8
|
||||
run: flake8
|
||||
41
examples/archinstall/.github/workflows/github-pages.yml
vendored
Normal file
41
examples/archinstall/.github/workflows/github-pages.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: documentation
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "docs/**"
|
||||
|
||||
pull_request:
|
||||
paths:
|
||||
- "docs/**"
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
docs:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
options: --privileged
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
|
||||
- name: Install pre-dependencies
|
||||
run: |
|
||||
pacman -Sy --noconfirm tree git python-pyparted python-setuptools python-sphinx python-sphinx_rtd_theme python-build python-installer python-wheel
|
||||
- name: Sphinx build
|
||||
run: |
|
||||
sphinx-build docs _build
|
||||
- name: Deploy to GitHub Pages
|
||||
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
with:
|
||||
publish_branch: gh-pages
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: _build/
|
||||
force_orphan: true
|
||||
enable_jekyll: false # This is required to preserve _static (and thus the theme)
|
||||
cname: archinstall.archlinux.page
|
||||
39
examples/archinstall/.github/workflows/iso-build.yaml
vendored
Normal file
39
examples/archinstall/.github/workflows/iso-build.yaml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# This workflow will build an Arch Linux ISO file with the commit on it
|
||||
|
||||
name: Build Arch ISO with ArchInstall Commit
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main # In case we adopt this convention in the future
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- '**.editorconfig'
|
||||
- '**.gitignore'
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- 'PKGBUILD'
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
options: --privileged
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- run: pwd
|
||||
- run: find .
|
||||
- run: cat /etc/os-release
|
||||
- run: pacman-key --init
|
||||
- run: pacman --noconfirm -Sy archlinux-keyring
|
||||
- run: ./build_iso.sh
|
||||
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
|
||||
with:
|
||||
name: Arch Live ISO
|
||||
path: /tmp/archlive/out/*.iso
|
||||
23
examples/archinstall/.github/workflows/mypy.yaml
vendored
Normal file
23
examples/archinstall/.github/workflows/mypy.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
on: [ push, pull_request ]
|
||||
name: mypy type checking
|
||||
jobs:
|
||||
mypy:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- name: Prepare arch
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman --noconfirm -Sy archlinux-keyring
|
||||
pacman --noconfirm -Syyu
|
||||
pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc
|
||||
- run: pip install --break-system-packages --upgrade pip
|
||||
# this will install the exact version of mypy that is in the pyproject.toml file
|
||||
- name: Install archinstall dependencies
|
||||
run: pip install --break-system-packages .[dev]
|
||||
- run: python --version
|
||||
- run: mypy --version
|
||||
- name: run mypy
|
||||
run: mypy --config-file pyproject.toml
|
||||
22
examples/archinstall/.github/workflows/pylint.yaml
vendored
Normal file
22
examples/archinstall/.github/workflows/pylint.yaml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
on: [ push, pull_request ]
|
||||
name: Pylint linting
|
||||
jobs:
|
||||
pylint:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- name: Prepare arch
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman --noconfirm -Sy archlinux-keyring
|
||||
pacman --noconfirm -Syyu
|
||||
pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc
|
||||
- run: pip install --break-system-packages --upgrade pip
|
||||
- name: Install Pylint
|
||||
run: pip install --break-system-packages .[dev]
|
||||
- run: python --version
|
||||
- run: pylint --version
|
||||
- name: Lint with Pylint
|
||||
run: pylint .
|
||||
21
examples/archinstall/.github/workflows/pytest.yaml
vendored
Normal file
21
examples/archinstall/.github/workflows/pytest.yaml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
on: [ push, pull_request ]
|
||||
name: pytest test validation
|
||||
jobs:
|
||||
pytest:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
options: --privileged
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- name: Prepare arch
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman --noconfirm -Sy archlinux-keyring
|
||||
pacman --noconfirm -Syyu
|
||||
pacman --noconfirm -Sy python-pip python-pyparted pkgconfig gcc
|
||||
- run: pip install --break-system-packages --upgrade pip
|
||||
- name: Install archinstall dependencies
|
||||
run: pip install --break-system-packages .[dev]
|
||||
- name: Test with pytest
|
||||
run: pytest
|
||||
39
examples/archinstall/.github/workflows/python-build.yml
vendored
Normal file
39
examples/archinstall/.github/workflows/python-build.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# This workflow will build Python packages on every commit.
|
||||
|
||||
name: Build archinstall
|
||||
|
||||
on: [ push, pull_request ]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
options: --privileged
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- name: Prepare arch
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman --noconfirm -Sy archlinux-keyring
|
||||
pacman --noconfirm -Syyu
|
||||
pacman --noconfirm -Sy python-uv python-setuptools python-pip
|
||||
pacman --noconfirm -Sy python-pyparted python-pydantic
|
||||
- name: Remove existing archinstall (if any)
|
||||
run:
|
||||
uv pip uninstall archinstall --break-system-packages --system
|
||||
- name: Build archinstall
|
||||
run: uv build --no-build-isolation --wheel
|
||||
- name: Install archinstall
|
||||
run: |
|
||||
uv pip install dist/*.whl --break-system-packages --system --no-build --no-deps
|
||||
- name: Run archinstall
|
||||
run: |
|
||||
python -V
|
||||
archinstall --script guided -v
|
||||
archinstall --script only_hd -v
|
||||
archinstall --script minimal -v
|
||||
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
|
||||
with:
|
||||
name: archinstall
|
||||
path: dist/*
|
||||
33
examples/archinstall/.github/workflows/python-publish.yml
vendored
Normal file
33
examples/archinstall/.github/workflows/python-publish.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
# This workflow will upload a Python Package when a release is created
|
||||
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
||||
|
||||
name: Upload archinstall to PyPi
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [ published ]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
# IMPORTANT: this permission is mandatory for Trusted Publishing
|
||||
id-token: write
|
||||
container:
|
||||
image: archlinux/archlinux:latest
|
||||
options: --privileged
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- name: Prepare arch
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman --noconfirm -Sy archlinux-keyring
|
||||
pacman --noconfirm -Syyu
|
||||
pacman --noconfirm -Sy python python-uv python-setuptools python-pip python-pyparted python-pydantic
|
||||
- name: Build archinstall
|
||||
run: |
|
||||
uv build --no-build-isolation --wheel
|
||||
- name: Publish archinstall to PyPi
|
||||
run: |
|
||||
uv publish --trusted-publishing always
|
||||
9
examples/archinstall/.github/workflows/ruff-format.yaml
vendored
Normal file
9
examples/archinstall/.github/workflows/ruff-format.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
on: [ push, pull_request ]
|
||||
name: ruff check formatting
|
||||
jobs:
|
||||
ruff_format_check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- uses: astral-sh/ruff-action@57714a7c8a2e59f32539362ba31877a1957dded1 # v3.5.1
|
||||
- run: ruff format --diff
|
||||
8
examples/archinstall/.github/workflows/ruff-lint.yaml
vendored
Normal file
8
examples/archinstall/.github/workflows/ruff-lint.yaml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
on: [ push, pull_request ]
|
||||
name: ruff check linting
|
||||
jobs:
|
||||
ruff:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
- uses: astral-sh/ruff-action@57714a7c8a2e59f32539362ba31877a1957dded1 # v3.5.1
|
||||
28
examples/archinstall/.github/workflows/translation-check.yaml
vendored
Normal file
28
examples/archinstall/.github/workflows/translation-check.yaml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
#on:
|
||||
# push:
|
||||
# paths:
|
||||
# - 'archinstall/locales/**'
|
||||
# pull_request:
|
||||
# paths:
|
||||
# - 'archinstall/locales/**'
|
||||
#name: Verify local_generate script was run on translation changes
|
||||
#jobs:
|
||||
# translation-check:
|
||||
# runs-on: ubuntu-latest
|
||||
# container:
|
||||
# image: archlinux/archlinux:latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: pacman --noconfirm -Syu python git diffutils
|
||||
# - name: Verify all translation scripts are up to date
|
||||
# run: |
|
||||
# cd ..
|
||||
# cp -r archinstall archinstall_orig
|
||||
# cd archinstall/archinstall/locales
|
||||
# bash locales_generator.sh 1> /dev/null
|
||||
# cd ../../..
|
||||
# git diff \
|
||||
# --quiet --no-index --name-only \
|
||||
# archinstall_orig/archinstall/locales \
|
||||
# archinstall/archinstall/locales \
|
||||
# || (echo "Translation files have not been updated after translation, please run ./locales_generator.sh once more and commit" && exit 1)
|
||||
Reference in New Issue
Block a user