name: e2e-cache on: pull_request: paths-ignore: - '**.md' push: branches: - main - releases/* paths-ignore: - '**.md' permissions: contents: read jobs: python-pip-dependencies-caching: name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.9', 'pypy-3.7-v7.x'] steps: - uses: actions/checkout@v3 - name: Setup Python uses: ./ with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: pip install numpy pandas requests python-pipenv-dependencies-caching: name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.9', 'pypy-3.7-v7.x'] steps: - uses: actions/checkout@v3 - name: Setup Python uses: ./ with: python-version: ${{ matrix.python-version }} cache: 'pipenv' - name: Install pipenv run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python - name: Install dependencies shell: pwsh run: | mv ./__tests__/data/Pipfile.lock . mv ./__tests__/data/Pipfile . if (${{ matrix.python-version }} -Match "pypy") { pipenv install --keep-outdated --python ${{ matrix.python-version }} } else { pipenv install --keep-outdated --python pypy } python-poetry-dependencies-caching: name: Test poetry (Python ${{ matrix.python-version}}, ${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.9', 'pypy-3.8'] steps: - uses: actions/checkout@v3 - name: Install poetry run: pipx install poetry - name: Setup Python uses: ./ with: python-version: ${{ matrix.python-version }} cache: 'poetry' - name: Init pyproject.toml run: poetry init -n - name: Install dependencies run: poetry add flake8 python-pip-dependencies-caching-path: name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.9', 'pypy-3.7-v7.x'] steps: - uses: actions/checkout@v3 - name: Setup Python uses: ./ with: python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: __tests__/data/requirements.txt - name: Install dependencies run: pip install numpy pandas requests python-pipenv-dependencies-caching-path: name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.9', 'pypy-3.7-v7.x'] steps: - uses: actions/checkout@v3 - name: Setup Python uses: ./ with: python-version: ${{ matrix.python-version }} cache: 'pipenv' cache-dependency-path: '**/pipenv-requirements.txt' - name: Install pipenv run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python - name: Install dependencies shell: pwsh run: | mv ./__tests__/data/Pipfile.lock . mv ./__tests__/data/Pipfile . if (${{ matrix.python-version }} -Match "pypy") { pipenv install --keep-outdated --python ${{ matrix.python-version }} } else { pipenv install --keep-outdated --python pypy }