Optimisation in customer_lifetime_value
when discount_rate is zero
#1250
This file contains 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: CI | |
on: | |
pull_request: | |
branches: [main] | |
push: | |
branches: [main] | |
env: | |
OLDEST_PYMC_VERSION: "5.8.2" | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.11"] | |
oldest-pymc: [false, true] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run lint | |
uses: pre-commit/[email protected] | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
config: [ {python-version: "3.9", oldest-pymc: false}, {python-version: "3.11", oldest-pymc: true}] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ matrix.config.python-version }} | |
- name: Install oldest version of PyMC | |
if: ${{ matrix.config.oldest-pymc }} | |
run: pip install pymc==${{ env.OLDEST_PYMC_VERSION }} | |
- name: Run tests | |
run: | | |
pip install -e .[test] | |
pytest --cov-report=xml --no-cov-on-fail --durations=50 | |
- name: Check oldest version of PyMC | |
if: ${{ matrix.config.oldest-pymc }} | |
run: python -c "import pymc; assert pymc.__version__ == '${{ env.OLDEST_PYMC_VERSION }}'" | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} # use token for more robust uploads | |
name: ${{ matrix.config.python-version }} | |
fail_ci_if_error: false | |
all: | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
name: All checks | |
needs: [ lint, test ] | |
steps: | |
- name: Confirm checks passed | |
if: ${{ (needs.lint.result != 'success' || needs.test.result != 'success') }} | |
run: exit 1 |