Implement Ledger #1718
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: Test/Coverage with Python | |
| on: | |
| push: | |
| pull_request: | |
| branches: | |
| - main | |
| schedule: | |
| - cron: '4 0 * * *' | |
| jobs: | |
| tests: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11", "3.12"] | |
| os: [ubuntu-22.04, ubuntu-24.04, macos-14, macos-15] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: "apt-get install" | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y python3-pip libsodium-dev libgmp-dev | |
| if: runner.os == 'Linux' | |
| - run: | | |
| brew install libsodium | |
| echo "DYLD_LIBRARY_PATH=$(brew --prefix libsodium)/lib" >> $GITHUB_ENV | |
| if: runner.os == 'macOS' | |
| # Workaround to avoid building pyobjc-core on macOS14 + Python 3.9. Support for Python 3.9 will be dropped | |
| # once we support a more recent version of Python on functions. | |
| - name: Avoid building pyobjc-core on macOS+Py3.9 | |
| if: runner.os == 'macOS' && matrix.python-version == '3.9' | |
| run: | | |
| echo "pyobjc-core<12" > /tmp/constraints.txt | |
| echo "PIP_CONSTRAINT=/tmp/constraints.txt" >> $GITHUB_ENV | |
| - name: "Install Hatch" | |
| run: | | |
| python3 -m venv /tmp/venv | |
| /tmp/venv/bin/python -m pip install --upgrade pip hatch coverage | |
| - name: "Run Tests" | |
| 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 | |
| - uses: codecov/codecov-action@v4.0.1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| slug: aleph-im/aleph-sdk-python |