Move test files to tests/cognitive_tests/ and fix dependencies #361
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: NeuroFlex CI/CD | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.9 | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: | | |
set -ex | |
python -m pip install --upgrade pip | |
echo "Installing numerical computation packages..." | |
# Install specific versions of numerical computation packages first | |
pip install numpy==1.23.5 scipy==1.9.0 | |
pip install jax==0.4.13 jaxlib==0.4.13 | |
pip install flax==0.6.10 optax==0.1.5 | |
echo "Installing alphafold dependencies..." | |
# Install alphafold dependencies first | |
pip install dm-haiku==0.0.9 dm-tree chex==0.1.6 ml-collections | |
echo "Cloning alphafold repository..." | |
# Clone and install alphafold with error handling | |
if ! git clone --depth 1 https://github.com/google-deepmind/alphafold.git; then | |
echo "Failed to clone alphafold repository" | |
exit 1 | |
fi | |
echo "Installing alphafold..." | |
cd alphafold | |
if ! pip install -e .; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing remaining dependencies..." | |
# Install remaining dependencies | |
pip install -r requirements.txt | |
- name: Create necessary directories | |
run: | | |
mkdir -p ${{ github.workspace }}/data | |
mkdir -p ${{ github.workspace }}/path/to/save | |
- name: Set ALPHAFOLD_PATH environment variable | |
run: echo "ALPHAFOLD_PATH=${{ github.workspace }}/alphafold" >> $GITHUB_ENV | |
- name: Run tests | |
run: | | |
pytest tests/ --disable-warnings | |
env: | |
NEUROFLEX_DATA_DIR: ${{ github.workspace }}/data | |
NEUROFLEX_SAVE_DIR: ${{ github.workspace }}/path/to/save | |
ALPHAFOLD_PATH: ${{ env.ALPHAFOLD_PATH }} | |
build: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.9 | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: | | |
set -ex | |
python -m pip install --upgrade pip | |
echo "Installing numerical computation packages..." | |
# Install specific versions of numerical computation packages first | |
pip install numpy==1.23.5 scipy==1.9.0 | |
pip install jax==0.4.13 jaxlib==0.4.13 | |
pip install flax==0.6.10 optax==0.1.5 | |
echo "Installing alphafold dependencies..." | |
# Install alphafold dependencies first | |
pip install dm-haiku==0.0.9 dm-tree chex==0.1.6 ml-collections | |
echo "Cloning alphafold repository..." | |
# Clone and install alphafold with error handling | |
if ! git clone --depth 1 https://github.com/google-deepmind/alphafold.git; then | |
echo "Failed to clone alphafold repository" | |
exit 1 | |
fi | |
echo "Installing alphafold..." | |
cd alphafold | |
if ! pip install -e .; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing remaining dependencies..." | |
# Install remaining dependencies | |
pip install -r requirements.txt | |
- name: Build package | |
run: | | |
pip install build | |
python -m build | |
- name: Check dist folder | |
run: | | |
ls -l dist/ | |
publish: | |
needs: build | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.9 | |
- name: Install build tools | |
run: | | |
set -ex | |
python -m pip install --upgrade pip | |
echo "Installing numerical computation packages..." | |
# Install specific versions of numerical computation packages first | |
pip install numpy==1.23.5 scipy==1.9.0 | |
pip install jax==0.4.13 jaxlib==0.4.13 | |
pip install flax==0.6.10 optax==0.1.5 | |
echo "Installing alphafold dependencies..." | |
# Install alphafold dependencies first | |
pip install dm-haiku==0.0.9 dm-tree chex==0.1.6 ml-collections | |
echo "Cloning alphafold repository..." | |
# Clone and install alphafold with error handling | |
if ! git clone --depth 1 https://github.com/google-deepmind/alphafold.git; then | |
echo "Failed to clone alphafold repository" | |
exit 1 | |
fi | |
echo "Installing alphafold..." | |
cd alphafold | |
if ! pip install -e .; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing remaining dependencies..." | |
# Install remaining dependencies | |
pip install -r requirements.txt | |
pip install build twine | |
- name: Verify distribution files | |
run: | | |
ls -l dist/ | |
- name: Publish to PyPI | |
env: | |
TWINE_USERNAME: "__token__" | |
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} | |
run: | | |
python -m twine upload dist/* --skip-existing | |
update_workflow: | |
needs: publish | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.9 | |
- name: Update workflow | |
run: | | |
echo "Updating workflow in GitHub" | |
# Add any additional steps needed to update the workflow |