Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add yamlfix #172

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
19 changes: 4 additions & 15 deletions .github/workflows/build-wheels.yml
Original file line number Diff line number Diff line change
@@ -1,73 +1,62 @@
---
name: Build source and wheel packages

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
strategy:
fail-fast: false
matrix:
os: [macos-13, macos-14, ubuntu-22.04, ubuntu-24.04]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4

- name: Workaround github issue https://github.com/actions/runner-images/issues/7192
if: startsWith(matrix.os, 'ubuntu-')
run: sudo echo RESET grub-efi/install_devices | sudo debconf-communicate grub-pc

- name: Set up Python
if: startsWith(matrix.os, 'macos')
uses: actions/setup-python@v2
with:
python-version: 3.12

- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-build-wheels-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-build-wheels-

- name: Install required system packages for macOS
if: startsWith(matrix.os, 'macos-')
run: |
brew update
brew tap cuber/homebrew-libsecp256k1
brew install libsecp256k1

- name: Install required system packages only for Ubuntu Linux
if: startsWith(matrix.os, 'ubuntu-')
run: |
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install -y libsecp256k1-dev

- name: Install Hatch
run: |
python3 -m venv /tmp/venv
/tmp/venv/bin/python3 -m pip install --upgrade hatch

- name: Build source and wheel packages
run: |
/tmp/venv/bin/python3 -m hatch build

- name: Install the Python wheel
run: |
/tmp/venv/bin/python3 -m pip install dist/aleph_sdk_python-*.whl

- name: Install/upgrade `setuptools`
- name: Install `setuptools` on systems where it is missing by default
run: /tmp/venv/bin/python3 -m pip install --upgrade setuptools

if: matrix.os == 'ubuntu-24.04'
- name: Import and use the package
run: |
run: |-
/tmp/venv/bin/python3 -c "import aleph.sdk"
/tmp/venv/bin/python3 -c "from aleph.sdk.chains.ethereum import get_fallback_account; get_fallback_account()"
9 changes: 1 addition & 8 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,30 @@
---
name: Test code quality

on:
push:
pull_request:
branches:
- main

jobs:
code-quality:
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4

- name: Workaround github issue https://github.com/actions/runner-images/issues/7192
run: sudo echo RESET grub-efi/install_devices | sudo debconf-communicate grub-pc

- name: Install system dependencies
run: |
sudo apt-get install -y python3-pip libsecp256k1-dev

- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-code-quality-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-code-quality-

- name: Install python dependencies
run: |
python3 -m venv /tmp/venv
/tmp/venv/bin/pip install hatch

- name: Run Hatch lint
run: /tmp/venv/bin/hatch run linting:all
4 changes: 1 addition & 3 deletions .github/workflows/pr-rating.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
---
name: PR Difficulty Rating Action

permissions:
pull-requests: write

on:
pull_request:
types: [opened, reopened, ready_for_review]

jobs:
difficulty-rating:
runs-on: ubuntu-latest
Expand Down
12 changes: 3 additions & 9 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Test/Coverage with Python

on:
push:
pull_request:
Expand All @@ -10,37 +10,31 @@ on:
# in order to catch when unfrozen dependency updates
# break the use of the library.
- cron: '4 0 * * *'

jobs:
tests:
strategy:
fail-fast: false
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12" ]
python-version: ["3.9", "3.10", "3.11", "3.12"]
os: [ubuntu-22.04, ubuntu-24.04]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- run: |
sudo apt-get update
sudo apt-get install -y python3-pip libsodium-dev

- run: |
python3 -m venv /tmp/venv
/tmp/venv/bin/python -m pip install --upgrade pip hatch coverage

- run: |
/tmp/venv/bin/pip freeze
/tmp/venv/bin/hatch run testing:pip freeze
/tmp/venv/bin/hatch run testing:test

- run: /tmp/venv/bin/hatch run testing:cov

if: matrix.python-version == '3.11'
- uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
8 changes: 8 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ dependencies = [
"ruff==0.4.8",
"isort==5.13.2",
"pyproject-fmt==2.2.1",
"yamlfix==1.16.1",
]
[tool.hatch.envs.linting.scripts]
typing = "mypy --config-file=pyproject.toml {args:} ./src/ ./tests/ ./examples/"
Expand All @@ -162,12 +163,14 @@ style = [
"black --check --diff {args:} ./src/ ./tests/ ./examples/",
"isort --check-only --profile black {args:} ./src/ ./tests/ ./examples/",
"pyproject-fmt --check pyproject.toml",
"yamlfix --check .",
]
fmt = [
"black {args:} ./src/ ./tests/ ./examples/",
"ruff check --fix {args:.} ./src/ ./tests/ ./examples/",
"isort --profile black {args:} ./src/ ./tests/ ./examples/",
"pyproject-fmt pyproject.toml",
"yamlfix .",
"style",
]
all = [
Expand Down Expand Up @@ -248,3 +251,8 @@ follow_imports = "silent"
# Miscellaneous strictness flags
# Allows variables to be redefined with an arbitrary type, as long as the redefinition is in the same block and nesting level as the original definition.
allow_redefinition = true


[tool.yamlfix]
sequence_style = "keep_style"
preserve_quotes = true
Loading