Move test files to tests/cognitive_tests/ and fix dependencies #362
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 "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 -e .; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing additional numerical computation packages..." | |
# Install additional packages needed by our project | |
pip install optax==0.1.5 | |
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 "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 -e .; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing additional numerical computation packages..." | |
# Install additional packages needed by our project | |
pip install optax==0.1.5 | |
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 "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 -e .; then | |
echo "Failed to install alphafold" | |
exit 1 | |
fi | |
cd .. | |
echo "Installing additional numerical computation packages..." | |
# Install additional packages needed by our project | |
pip install optax==0.1.5 | |
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 |