Skip to content
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: First attempt at GitHub Actions integration for CI #285

Merged
merged 85 commits into from
Nov 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
3fa8109
Alphabetize setup.py requirements
bocklund Nov 20, 2020
2da7286
Alphabetize conda recipe
bocklund Nov 20, 2020
5e9b457
Remove pandas as an explicit requirement (we don't import it anywhere)
bocklund Nov 20, 2020
5c0f34e
Fix conda_recipe/meta.yaml dependency on symengine from 0.6.1 to 0.6.…
bocklund Nov 20, 2020
42c1946
Add notes to the setup.py giving some guidance to future developers w…
bocklund Nov 20, 2020
5f195b4
Commit the (now canonical) list of Anaconda dependencies
bocklund Nov 20, 2020
e31c64e
First attempt at pytest GH action
bocklund Nov 20, 2020
ea7d365
Try to do only ubuntu
bocklund Nov 20, 2020
e1d3370
Linux only
bocklund Nov 20, 2020
b5c622f
Delete second pytest.yaml file
bocklund Nov 20, 2020
ef280ad
WIP: all test files separate (Linux working, mac/windows are not)
bocklund Nov 20, 2020
4b5dd2a
Delete individual test files
bocklund Nov 20, 2020
d3b028a
WIP: all-in-one using conda-incubator/setup-miniconda
bocklund Nov 20, 2020
172b95f
conda info
bocklund Nov 20, 2020
0d1132f
Install to test environment
bocklund Nov 20, 2020
bf026a4
Just one Python version for now, no need to waste time.
bocklund Nov 20, 2020
b4092eb
Install manually
bocklund Nov 20, 2020
21523e7
Use conda-forge and pycalphad channels
bocklund Nov 20, 2020
f541cf5
WIP: what is the working directory??
bocklund Nov 20, 2020
cbbd155
WD
bocklund Nov 20, 2020
ac6f5ad
String all package names
bocklund Nov 20, 2020
bc347b8
Use checkout action
bocklund Nov 20, 2020
f4cd558
One-step dependencies installer
bocklund Nov 20, 2020
9477f1e
Don't hide test environment name in environment-test.yaml
bocklund Nov 20, 2020
6d75e2c
Naming cleanup
bocklund Nov 20, 2020
e6459e3
Introduce Python 3.7 to test matrix
bocklund Nov 20, 2020
ab51efe
Add Python 3.6 to test matrix
bocklund Nov 20, 2020
56712f8
Split conda info and list checks into separate steps for prettier log…
bocklund Nov 20, 2020
b72f7d6
Use the environment-test.yml file with setup-miniconda action to inst…
bocklund Nov 20, 2020
67ee9b1
Fix typo: conda-info -> conda info
bocklund Nov 20, 2020
c97408c
Fix bad string
bocklund Nov 20, 2020
9d64b16
Fix setup.py dependency missing comma*
bocklund Nov 20, 2020
cc00e6e
Conda list and name environment in environment-test.yml
bocklund Nov 20, 2020
6a86fc6
Debug macos build
bocklund Nov 20, 2020
9d4af76
Try to manually build extensions to work out differences.
bocklund Nov 20, 2020
1f3427b
Check gcc version
bocklund Nov 20, 2020
bfbe459
Bump Python test requirement to 3.6.12 or later
bocklund Nov 20, 2020
1e65b3a
Revert MacOS debugging commits
bocklund Nov 20, 2020
dc2cf86
MACOSX_DEPLOYMENT_TARGET workaround
bocklund Nov 20, 2020
3fdb15c
See if the deployment target was exported correctly
bocklund Nov 20, 2020
b9f54f8
Try to correctly set environment variable
bocklund Nov 20, 2020
af68515
Clean up deployment target debugging
bocklund Nov 20, 2020
139e946
Clean old CI code
bocklund Nov 20, 2020
dd3edf9
Update PR template, remove environment.yml dependencies, because they…
bocklund Nov 20, 2020
3b8996d
Alphabetize environment-test.yml
bocklund Nov 20, 2020
fa65cc3
Enable test on pull_request
bocklund Nov 20, 2020
85718fd
WIP: attempt at coveralls
bocklund Nov 20, 2020
179accd
Revert "Enable test on pull_request" - too many tests
bocklund Nov 20, 2020
afcac71
WIP: coveralls fixes
bocklund Nov 20, 2020
f25ac20
Coveralls manually with repo secret
bocklund Nov 21, 2020
ad3bfa5
environment-test.yml -> environment-dev.yml
bocklund Nov 21, 2020
261872e
Drop coverage pin and direct dependency, since pytest-cov should have…
bocklund Nov 21, 2020
351443d
Add developer dependencies for building docs
bocklund Nov 24, 2020
e5403f8
Remove conda_recipe source of dependencies
bocklund Nov 24, 2020
09e7000
WIP: deploy docs to website-test
bocklund Nov 24, 2020
0972726
WIP docs: try removing expression
bocklund Nov 24, 2020
8fc1204
Double colon to escape
bocklund Nov 24, 2020
bca9a0d
Try single quotes
bocklund Nov 24, 2020
79f50ac
HTML colon
bocklund Nov 24, 2020
a49fbc9
Move name
bocklund Nov 24, 2020
abe2cbb
Change how env variable is accessed
bocklund Nov 24, 2020
89538d2
Move where `env` is
bocklund Nov 24, 2020
01bbcd0
Don't be fancy with name
bocklund Nov 24, 2020
e3113ae
Can't have dependencies in separate file
bocklund Nov 24, 2020
e8fc9eb
Build a dev environment
bocklund Nov 24, 2020
bc9d545
WIP docs
bocklund Nov 24, 2020
705b2fc
Conda info
bocklund Nov 24, 2020
31f901f
Login shell to let conda activate work
bocklund Nov 24, 2020
94f8e83
Update variable usage
bocklund Nov 24, 2020
10351fc
Update login shell comment
bocklund Nov 24, 2020
aa1cf58
Fix multiline run
bocklund Nov 24, 2020
2f46e51
Install pycalphad for docs build
bocklund Nov 24, 2020
6f4d382
Move login shell comment to first use
bocklund Nov 24, 2020
1c974ec
Checkout all branches and tags
bocklund Nov 24, 2020
4f75b60
Try a different way to escape colons
bocklund Nov 24, 2020
f6e1891
Update readme badge
bocklund Nov 24, 2020
c2532f8
try again env.DEPLOY_NAME var, checkout before copying
bocklund Nov 24, 2020
92dcbf3
Stop trying fancy step names :(
bocklund Nov 24, 2020
39f579c
Add ipython for syntax highlighting
bocklund Nov 24, 2020
b28ea4e
Remove website deployment script and encrypted key
bocklund Nov 24, 2020
ac6aa48
`environment-test.yml` -> `environment-dev.yml`
bocklund Nov 24, 2020
edec0ea
Try single quotes for commit
bocklund Nov 24, 2020
7d5d183
Small cleanup
bocklund Nov 24, 2020
55bb264
Change substitution method
bocklund Nov 24, 2020
c21fdd3
Docs: flip the switch: only deploy on `develop` to `website` branch
bocklund Nov 24, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,4 @@ Checklist
* [ ] The documentation examples have been regenerated if the Jupyter notebooks in the `examples/` have changed. To regenerate the documentation examples, run `jupyter nbconvert --to rst --output-dir=docs/examples examples/*.ipynb` from the top level directory)
* [ ] If any dependencies have changed, the changes are reflected in the
* [ ] `setup.py`
* [ ] `.travis.yml`
* [ ] `appveyor.yml`
* [ ] `conda_recipe/meta.yaml`
* [ ] `environment-dev.yml`
50 changes: 50 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Documentation
on:
push:
branches:
- develop

jobs:
Latest-Docs:
name: Build and deploy latest documentation
runs-on: ubuntu-latest
env:
TARGET_BRANCH: website
DEPLOY_NAME: latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # fetch the entire repo history, required to guarantee versioneer will pick up the tags
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: "3.8"
environment-file: environment-dev.yml
- name: Conda Info
# login shell should be used so conda activate runs
shell: bash -l {0}
run: conda info
- name: Conda list
shell: bash -l {0}
run: conda list
- name: Install pycalphad development version
shell: bash -l {0}
run: pip install --no-deps -e .
- name: Sphinx Build
shell: bash -l {0}
run: sphinx-build -b html docs docs/_build/html
- run: git checkout $TARGET_BRANCH
- name: Copy Documentation to destination
run: |
mkdir -p docs/$DEPLOY_NAME
# clean any existing contents
rm -rf docs/$DEPLOY_NAME/*
# copy the output
cp -Rf docs/_build/html/* docs/$DEPLOY_NAME
- name: Commit and push changes
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git add docs/$DEPLOY_NAME
git commit -m 'DOC: Deploy ${{ env.DEPLOY_NAME }} docs to website: ${{ github.sha }}'
git push
51 changes: 51 additions & 0 deletions .github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Tests

on: [push]

jobs:
Tests:
name: Test ${{ matrix.os }} with ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 9
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.6", "3.7", "3.8"]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # fetch the entire repo history, required to guarantee versioneer will pick up the tags
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
environment-file: environment-dev.yml
- name: Conda info
# login shell should be used so conda activate runs
shell: bash -l {0}
run: conda info
- name: Conda list
shell: bash -l {0}
run: conda list
# The last conda-forge Python 3.6 build uses an old macOS deployment
# target that causes C++ builds to break. This is a workaround. See
# https://github.com/pycalphad/pycalphad/pull/285#issuecomment-731365552
# For the syntax of setting environment variables see
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
- name: macOS + Python 3.6 deployment target fix
if: matrix.os == 'macos-latest' && matrix.python-version == '3.6'
shell: bash -l {0}
run: echo "MACOSX_DEPLOYMENT_TARGET=10.9" >> $GITHUB_ENV
- name: Install pycalphad development version
shell: bash -l {0}
run: pip install --no-deps -e .
- name: Test with pytest
shell: bash -l {0}
run: |
pytest -v --cov=pycalphad
- name: Coveralls
shell: bash -l {0}
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: coveralls
65 changes: 0 additions & 65 deletions .travis.yml

This file was deleted.

18 changes: 7 additions & 11 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,8 @@ pycalphad, a library for the CALculation of PHAse Diagrams
:target: https://coveralls.io/github/pycalphad/pycalphad?branch=master
:alt: Test Coverage

.. image:: https://ci.appveyor.com/api/projects/status/ua1hya8isg588fyp/branch/develop?svg=true
:target: https://ci.appveyor.com/project/richardotis/pycalphad
:alt: Windows Build Status

.. image:: https://img.shields.io/travis/pycalphad/pycalphad/master.svg
:target: https://travis-ci.org/pycalphad/pycalphad
.. image:: https://github.com/pycalphad/pycalphad/workflows/Tests/badge.svg
:target: https://github.com/pycalphad/pycalphad/actions?query=workflow%3ATests
:alt: Build Status

.. image:: https://img.shields.io/pypi/status/pycalphad.svg
Expand All @@ -35,16 +31,16 @@ pycalphad, a library for the CALculation of PHAse Diagrams

**Note**: Unsolicited pull requests are _happily_ accepted!

pycalphad is a free and open-source Python library for
designing thermodynamic models, calculating phase diagrams and
investigating phase equilibria within the CALPHAD method. It
pycalphad is a free and open-source Python library for
designing thermodynamic models, calculating phase diagrams and
investigating phase equilibria within the CALPHAD method. It
provides routines for reading Thermo-Calc TDB files and for
solving the multi-component, multi-phase Gibbs energy
minimization problem.

The purpose of this project is to provide any interested people
the ability to tinker with and improve the nuts and bolts of
CALPHAD modeling without having to be a computer scientist or
the ability to tinker with and improve the nuts and bolts of
CALPHAD modeling without having to be a computer scientist or
expert programmer.

For assistance in setting up your Python environment and/or
Expand Down
57 changes: 0 additions & 57 deletions appveyor.yml

This file was deleted.

80 changes: 0 additions & 80 deletions ci/deploy.sh

This file was deleted.

Binary file removed ci/deploy_key.enc
Binary file not shown.