New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP Update Dependencies and Requirements to use pyproject.toml
#1528
WIP Update Dependencies and Requirements to use pyproject.toml
#1528
Conversation
Looks good so far! You can likely remove |
pare dependencies that aren't explicitly imported in code
@zacharyburnett Thanks for the PR, I went ahead and added the upper and lower bound pins. I also added the minimum python version. I guess the next steps would be to update the CI pipeline to get the tests passing. I am sure there is a nifty and much easier way to get the package installed with the pyproject.toml instead of executing a bunch of bash commands. Ideally the minimum version we would like to support at this point is 3.11 so the testing matrix will need to be updated to include python 3.11 and 3.12. |
add matrix to build workflow
…an-dependency-lists
fix ReadTheDocs build
@zacharyburnett so close, looks like something with the mast portal is causing the test failure. I will investigate further tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mfixstsci use these changes with an environment.yml
that includes firefox
:
# environment.yml
dependencies:
- firefox
- python
on: [push, pull_request] | ||
on: | ||
push: | ||
pull_request: | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
defaults: | |
run: | |
shell: micromamba-shell {0} | |
types: [ released ] | ||
pull_request: | ||
workflow_dispatch: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
defaults: | |
run: | |
shell: micromamba-shell {0} | |
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: mamba-org/provision-with-micromamba@v15 | ||
- uses: actions/setup-python@v5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- uses: actions/setup-python@v5 | |
- uses: mamba-org/setup-micromamba@v1 |
python-version: ${{ matrix.python-version }} | ||
cache: pip | ||
cache-dependency-path: pyproject.toml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
environment-name: jwql-${{ runner.os }}-py${{ matrix.python-version }} | |
environment-file: environment.yaml | |
create-args: >- | |
python=${{ matrix.python-version }} | |
init-shell: none | |
generate-run-shell: true |
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-name: jwql-${{ runner.os }}-py${{ matrix.python-version }} | |
environment-file: environment.yaml | |
create-args: >- | |
python=${{ matrix.python-version }} | |
init-shell: none | |
generate-run-shell: true |
strategy: | ||
max-parallel: 5 | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, macos-latest] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
os: [ubuntu-latest, macos-latest] | |
os: [ "ubuntu-latest", "macos-latest" ] |
matrix: | ||
os: [ubuntu-latest, macos-latest] | ||
python-version: [3.9, "3.10"] | ||
|
||
python-version: ["3.11"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
python-version: ["3.11"] | |
python-version: [ "3.11" ] |
superseded by #1568 |
Currently JWQL is using three different methods to track dependencies and build our python environment. It would be nice to shrink this down to one method and keep track of them in the
pyproject.toml