Move test files to tests/cognitive_tests/ and fix dependencies #367
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 | |
# Cache temporarily disabled to ensure fresh dependency installation | |
- name: Install dependencies | |
run: | | |
set -ex | |
python -m pip install --upgrade pip | |
pip -v --version | |
echo "Installing base dependencies..." | |
pip install -v wheel setuptools | |
echo "Installing core numerical packages..." | |
pip install -v numpy==1.23.5 scipy==1.9.0 jax==0.4.13 jaxlib==0.4.13 tensorflow-cpu==2.12.0 keras==2.12.0 tensorboard==2.12.3 | |
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 and its dependencies..." | |
cd alphafold | |
if ! pip install -v -e . --no-deps; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing alphafold dependencies..." | |
pip install -v -r alphafold/requirements.txt | |
echo "Installing project dependencies in batches..." | |
# Install dependencies in smaller batches | |
pip install -v pytest mne gymnasium | |
pip install -v Bio ml_collections | |
pip install -v --no-deps optax==0.1.5 | |
# Finally, let pip resolve any remaining dependencies | |
pip install -v -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 | |
# Cache temporarily disabled to ensure fresh dependency installation | |
- name: Install dependencies | |
run: | | |
set -ex | |
python -m pip install --upgrade pip | |
pip -v --version | |
echo "Installing base dependencies..." | |
pip install -v wheel setuptools | |
echo "Installing core numerical packages..." | |
pip install -v numpy==1.23.5 scipy==1.9.0 jax==0.4.13 jaxlib==0.4.13 tensorflow-cpu==2.12.0 keras==2.12.0 tensorboard==2.12.3 | |
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 and its dependencies..." | |
cd alphafold | |
if ! pip install -v -e . --no-deps; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing alphafold dependencies..." | |
pip install -v -r alphafold/requirements.txt | |
echo "Installing project dependencies in batches..." | |
# Install dependencies in smaller batches | |
pip install -v pytest mne gymnasium | |
pip install -v Bio ml_collections | |
pip install -v --no-deps optax==0.1.5 | |
# Finally, let pip resolve any remaining dependencies | |
pip install -v -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 | |
pip -v --version | |
echo "Installing base dependencies..." | |
pip install -v wheel setuptools | |
echo "Installing core numerical packages..." | |
pip install -v numpy==1.23.5 scipy==1.9.0 jax==0.4.13 jaxlib==0.4.13 tensorflow-cpu==2.12.0 keras==2.12.0 tensorboard==2.12.3 | |
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 and its dependencies..." | |
cd alphafold | |
if ! pip install -v -e . --no-deps; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing alphafold dependencies..." | |
pip install -v -r alphafold/requirements.txt | |
echo "Installing project dependencies in batches..." | |
# Install dependencies in smaller batches | |
pip install -v pytest mne gymnasium | |
pip install -v Bio ml_collections | |
pip install -v --no-deps optax==0.1.5 | |
# Finally, let pip resolve any remaining dependencies | |
pip install -v -r requirements.txt | |
pip install -v 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 |