feat: Silent Payments (BIP-352) — address, descriptor and signing #3259
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| pull_request: | |
| jobs: | |
| lint-black: | |
| strategy: | |
| matrix: | |
| # minimum tested python version | |
| # maximum python version | |
| py-version: [ "3.11.5", "3.12.13"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.py-version }} | |
| - uses: psf/black@stable | |
| with: | |
| options: "--check --verbose" | |
| src: "./firmware/font" | |
| - uses: psf/black@stable | |
| with: | |
| options: "--check --verbose" | |
| src: "./firmware/scripts" | |
| - uses: psf/black@stable | |
| with: | |
| options: "--check --verbose" | |
| src: "./i18n" | |
| - uses: psf/black@stable | |
| with: | |
| options: "--check --verbose" | |
| src: "./src" | |
| - uses: psf/black@stable | |
| with: | |
| options: "--check --verbose" | |
| src: "./tests" | |
| lint-pylint: | |
| strategy: | |
| matrix: | |
| # minimum tested python version | |
| # maximum python version | |
| py-version: [ "3.11.5", "3.12.13"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python | |
| run: uv python install ${{ matrix.py-version }} | |
| - name: Sync dependencies | |
| run: uv sync --frozen --python ${{ matrix.py-version }} | |
| - name: Lint | |
| run: uv run --python ${{ matrix.py-version }} poe lint | |
| check-translations: | |
| strategy: | |
| matrix: | |
| # minimum tested python version | |
| # maximum python version | |
| py-version: [ "3.11.5", "3.12.13"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python | |
| run: uv python install ${{ matrix.py-version }} | |
| - name: Sync dependencies | |
| run: uv sync --frozen --python ${{ matrix.py-version }} | |
| - name: Validate translations | |
| run: uv run --python ${{ matrix.py-version }} poe i18n validate | |
| run-tests: | |
| strategy: | |
| matrix: | |
| # minimum tested python version | |
| # maximum python version | |
| py-version: [ "3.11.5", "3.12.13"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python | |
| run: uv python install ${{ matrix.py-version }} | |
| - name: Sync dependencies | |
| run: uv sync --frozen --python ${{ matrix.py-version }} | |
| - name: Build libsecp256k1 | |
| run: uv run --python ${{ matrix.py-version }} poe secp256k1-build | |
| - name: Check embit uses the C secp256k1 | |
| run: uv run --python ${{ matrix.py-version }} poe secp256k1-check | |
| - name: Run tests | |
| run: uv run --python ${{ matrix.py-version }} poe test-simple | |
| coverage: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@main | |
| with: | |
| submodules: recursive | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python | |
| # no need to use many coverages | |
| run: uv python install 3.12.13 | |
| - name: Sync dependencies | |
| run: uv sync --frozen --python 3.12.13 | |
| - name: Build libsecp256k1 | |
| run: uv run --python 3.12.13 poe secp256k1-build | |
| - name: Check embit uses the C secp256k1 | |
| run: uv run --python 3.12.13 poe secp256k1-check | |
| - name: Build coverage file | |
| run: uv run --python 3.12.13 pytest --cache-clear --cov src/krux --cov-report xml tests | |
| - name: Upload coverage reports to Codecov with GitHub Action | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} |