diff --git a/.github/workflows/ci_linux.yml b/.github/workflows/ci_linux.yml index e2ffa4f..62ed2a9 100644 --- a/.github/workflows/ci_linux.yml +++ b/.github/workflows/ci_linux.yml @@ -3,35 +3,9 @@ name: Build-Test-Lint-etc (linux) on: [push] jobs: - setup: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] - name: Setup - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - cache: 'pip' - - run: | - ./ci/linux/create_venv.sh - ./ci/linux/install_dependencies.sh - - name: 'Tar venv' - run: tar -cvf venv.tar ./.venv/ - - name: Save venv - uses: actions/upload-artifact@v4 - with: - path: ./venv.tar - name: ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}} - lint: name: Lint runs-on: ubuntu-latest - needs: [ setup ] strategy: fail-fast: false matrix: @@ -43,20 +17,23 @@ jobs: with: python-version: ${{ matrix.python-version }} cache: 'pip' - - name: Restore venv - uses: actions/download-artifact@v4 + - name: Cache pip packages + uses: actions/cache@v3 with: - name: ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}} - - name: Untar venv - run: tar -xvf venv.tar - - name: run unit tests + path: ~/.cache/pip + key: pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + pip-${{ matrix.python-version }}- + - run: | + ./ci/linux/create_venv.sh + ./ci/linux/install_dependencies.sh + - name: lint run: | ./ci/linux/lint.sh test: name: Test runs-on: ubuntu-latest - needs: [ setup ] strategy: fail-fast: false matrix: @@ -68,12 +45,16 @@ jobs: with: python-version: ${{ matrix.python-version }} cache: 'pip' - - name: Restore venv - uses: actions/download-artifact@v4 + - name: Cache pip packages + uses: actions/cache@v3 with: - name: ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}} - - name: Untar venv - run: tar -xvf venv.tar + path: ~/.cache/pip + key: pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + pip-${{ matrix.python-version }}- + - run: | + ./ci/linux/create_venv.sh + ./ci/linux/install_dependencies.sh - name: run unit tests run: | ./ci/linux/test_unit.sh @@ -104,7 +85,6 @@ jobs: typecheck: name: Typecheck runs-on: ubuntu-latest - needs: [ setup ] strategy: fail-fast: false matrix: @@ -116,22 +96,22 @@ jobs: with: python-version: ${{ matrix.python-version }} cache: 'pip' - - name: Restore venv - uses: actions/download-artifact@v4 + - name: Cache pip packages + uses: actions/cache@v3 with: - name: ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}} - - name: Untar venv - run: tar -xvf venv.tar - - name: Add mypy annotator - uses: pr-annotators/mypy-pr-annotator@v1.0.0 - + path: ~/.cache/pip + key: pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + pip-${{ matrix.python-version }}- + - run: | + ./ci/linux/create_venv.sh + ./ci/linux/install_dependencies.sh - name: run typechecker run: | ./ci/linux/typecheck.sh build: name: Build - needs: [ setup ] runs-on: ubuntu-latest strategy: fail-fast: false @@ -144,12 +124,16 @@ jobs: with: python-version: ${{ matrix.python-version }} cache: 'pip' - - name: Restore venv - uses: actions/download-artifact@v4 + - name: Cache pip packages + uses: actions/cache@v3 with: - name: ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}} - - name: Untar venv - run: tar -xvf venv.tar + path: ~/.cache/pip + key: pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + pip-${{ matrix.python-version }}- + - run: | + ./ci/linux/create_venv.sh + ./ci/linux/install_dependencies.sh - name: build run: | ./ci/linux/build_python_package.sh diff --git a/pyproject.toml b/pyproject.toml index b9c5a3d..b935dc2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ dependencies = [ "aio-pika ~= 9.4, < 9.5", "omotes-sdk-protocol ~= 1.2", - "pyesdl ~= 25.5.1", + "pyesdl ~= 25.7", "pamqp ~= 3.3", "celery ~= 5.3", "typing-extensions ~= 4.11",