Skip to content

Commit

Permalink
feat(core): add a minimum version check to support breaking forward c…
Browse files Browse the repository at this point in the history
…ompatibility (#2840)
  • Loading branch information
Panaetius committed May 12, 2022
1 parent 2021e76 commit 42dc84c
Show file tree
Hide file tree
Showing 14 changed files with 376 additions and 45 deletions.
87 changes: 61 additions & 26 deletions .github/workflows/test_deploy.yml
Expand Up @@ -64,12 +64,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -103,12 +106,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -139,12 +145,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -181,11 +190,14 @@ jobs:
if: steps.cache.outputs.cache-hit != 'true'
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
python -m pip install .[all]
- name: Install renku into cache
if: steps.cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand All @@ -199,7 +211,7 @@ jobs:
cd ../..
- name: Publish cheatsheet if changed
id: publish
if: ${{ hashFiles('docs/cheatsheet_hash') != hashFiles('docs/cheatsheet_hash_new') }}
if: ${{ hashFiles('docs/cheatsheet_hash') != hashFiles('docs/cheatsheet_hash_new') }}
run: |
cat docs/cheatsheet_hash
cat docs/cheatsheet_hash_new
Expand Down Expand Up @@ -238,12 +250,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Build Package
env:
POETRY_VIRTUALENVS_CREATE: false
Expand Down Expand Up @@ -281,12 +296,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -336,12 +354,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -397,12 +418,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -458,12 +482,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -540,7 +567,8 @@ jobs:
curl -L https://raw.githubusercontent.com/Homebrew/homebrew-core/43842898fd3ff43273466052722f5ba2789196cb/Formula/git-lfs.rb > git-lfs.rb && brew install git-lfs.rb && rm git-lfs.rb
brew install shellcheck node || brew link --overwrite node
python -m pip install --upgrade pip
python -m pip install wheel
python -m pip install wheel poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -582,8 +610,9 @@ jobs:
curl -L https://raw.githubusercontent.com/Homebrew/homebrew-core/43842898fd3ff43273466052722f5ba2789196cb/Formula/git-lfs.rb > git-lfs.rb && brew install git-lfs.rb && rm git-lfs.rb
brew install shellcheck node || brew link --overwrite node
python -m pip install --upgrade pip
python -m pip install wheel
python -m pip install wheel poetry-dynamic-versioning
make download-templates
poetry-dynamic-versioning
python -m pip install .[all]
git config --global --add user.name "Renku Bot"
git config --global --add user.email "renku@datascience.ch"
Expand Down Expand Up @@ -666,12 +695,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -742,12 +774,15 @@ jobs:
if: steps.dependency-cache.outputs.cache-hit != 'true' || 'refs/heads/master' == github.ref || 'refs/heads/develop' == github.ref || startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip
python -m pip install coveralls poetry wheel twine
python -m pip install coveralls poetry wheel twine poetry-dynamic-versioning
poetry-dynamic-versioning
make download-templates
python -m pip install .[all]
- name: Install renku into cache
if: steps.dependency-cache.outputs.cache-hit == 'true'
run: python -m pip install --no-deps .
run: |
poetry-dynamic-versioning
python -m pip install --no-deps .
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down Expand Up @@ -882,7 +917,7 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 0
ref: 'develop'
ref: "develop"
- name: Set Git config
run: |
git config --global --add user.name "Renku Bot"
Expand Down
17 changes: 10 additions & 7 deletions conftest.py
Expand Up @@ -61,10 +61,13 @@
INCLUDE_FIXTURES = GLOBAL_FIXTURE_LOCATIONS + CORE_FIXTURE_LOCATIONS + CLI_FIXTURE_LOCATIONS + SERVICE_FIXTURE_LOCATIONS


for _fixture in INCLUDE_FIXTURES:
module = importlib.import_module(_fixture)
globals().update(
{n: getattr(module, n) for n in module.__all__}
if hasattr(module, "__all__")
else {k: v for (k, v) in module.__dict__.items() if not k.startswith("_")}
)
def pytest_configure(config):
"""Run global setup before executing tests."""

for _fixture in INCLUDE_FIXTURES:
module = importlib.import_module(_fixture)
globals().update(
{n: getattr(module, n) for n in module.__all__}
if hasattr(module, "__all__")
else {k: v for (k, v) in module.__dict__.items() if not k.startswith("_")}
)
57 changes: 51 additions & 6 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 42dc84c

Please sign in to comment.