diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 084f15fe40..0f2921b72a 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -3,6 +3,7 @@ name: Benchmarks on: pull_request: branches: [ master ] + paths-ignore: 'doc/**' jobs: build: diff --git a/.github/workflows/check-submodules.yml b/.github/workflows/check-submodules.yml deleted file mode 100644 index 48878c991f..0000000000 --- a/.github/workflows/check-submodules.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Update submodules - -on: - schedule: - # - cron: '0 2 * * 0' # run at 2 AM every sunday - - cron: '5 4 2 * *' # 04:05 every 2nd of month - push: - branches: [ 'ci/auto-update-submodules' ] - -jobs: - update_submodules: - runs-on: ubuntu-latest - steps: - - name: Clone w/ submodules - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Check submodules for updates - run: scripts/submodule-diff.sh - - name: Create Issue From File - uses: peter-evans/create-issue-from-file@v3 - with: - title: '[AUTOMATED] Git submodule updates found' - content-filepath: ./diff.log - labels: | - dependency update - assignees: brenthuisman diff --git a/.github/workflows/sanitize.yml b/.github/workflows/sanitize.yml index 788e5d219a..6762039add 100644 --- a/.github/workflows/sanitize.yml +++ b/.github/workflows/sanitize.yml @@ -3,6 +3,7 @@ name: Sanitize on: pull_request: branches: [ master ] + paths-ignore: 'doc/**' jobs: build: diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index bd5ed162d0..f9978bda1e 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -3,8 +3,10 @@ name: Spack on: push: branches: [ master ] + paths-ignore: 'doc/**' pull_request: branches: [ master ] + paths-ignore: 'doc/**' jobs: build: diff --git a/.github/workflows/test-docs.yaml b/.github/workflows/test-docs.yaml new file mode 100644 index 0000000000..7c6918f2fd --- /dev/null +++ b/.github/workflows/test-docs.yaml @@ -0,0 +1,41 @@ +name: Test docs + +on: + push: + branches: [ master ] + paths: 'doc/**' + pull_request: + branches: [ master ] + paths: 'doc/**' + +jobs: + testdocs: + name: "Docs build test" + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + python-version: [3.7] + steps: + - name: Set up cmake + uses: jwlawson/actions-setup-cmake@v1.13 + with: + cmake-version: ${{ matrix.config.cmake }} + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Update pip and setup venv + run: python -m pip install --upgrade pip && python -m venv ~/env && . ~/env/bin/activate && echo "PATH=$PATH" >> $GITHUB_ENV + - name: Clone w/ submodules + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Install Python packages + run: python -m pip install -r doc/requirements.txt -U + - name: Build Arbor Docs + run: | + mkdir build + cd build + cmake .. -DARB_WITH_PYTHON=ON -DPython3_EXECUTABLE=`which python` -DARB_USE_BUNDLED_LIBS=ON + make html diff --git a/.github/workflows/test-everything.yml b/.github/workflows/test-matrix.yml similarity index 75% rename from .github/workflows/test-everything.yml rename to .github/workflows/test-matrix.yml index 2f8a7ce201..c760b4d8c2 100644 --- a/.github/workflows/test-everything.yml +++ b/.github/workflows/test-matrix.yml @@ -1,10 +1,12 @@ -name: Test Everything +name: Test Matrix on: push: branches: [ master ] + paths-ignore: 'doc/**' pull_request: branches: [ master ] + paths-ignore: 'doc/**' jobs: testallconfigs: @@ -191,67 +193,3 @@ jobs: # run: scripts/run_python_examples.sh - name: Test executables run: ./scripts/test_executables.sh - testpip: - name: "Pip build test + Python examples test" - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-20.04] - python-version: [3.7] - steps: - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Clone w/ submodules - uses: actions/checkout@v3 - with: - submodules: recursive - - name: Update pip and setup venv - run: python -m pip install --upgrade pip && python -m venv ~/env && . ~/env/bin/activate && echo PATH=$PATH >> $GITHUB_ENV - - name: Debug info Python - run: | - which python - python --version - pip --version - - name: Build and install Arbor using pip + build flags - run: CMAKE_ARGS="-DARB_VECTORIZE=ON -DARB_ARCH=native" pip install . --user - - name: Check that build flags match - run: | - python -c "import arbor; print(arbor.config())" | grep -q "'arch': 'native'" - - name: Run Python tests - run: python -m unittest discover -v -s python - - name: Run Python examples - run: scripts/run_python_examples.sh - - name: Test executables - run: scripts/test_executables.sh - testdocs: - name: "Docs build test" - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-20.04] - python-version: [3.7] - steps: - - name: Set up cmake - uses: jwlawson/actions-setup-cmake@v1.13 - with: - cmake-version: ${{ matrix.config.cmake }} - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Update pip and setup venv - run: python -m pip install --upgrade pip && python -m venv ~/env && . ~/env/bin/activate && echo "PATH=$PATH" >> $GITHUB_ENV - - name: Clone w/ submodules - uses: actions/checkout@v3 - with: - submodules: recursive - - name: Install Python packages - run: python -m pip install -r doc/requirements.txt -U - - name: Build Arbor Docs - run: | - mkdir build - cd build - cmake .. -DARB_WITH_PYTHON=ON -DPython3_EXECUTABLE=`which python` -DARB_USE_BUNDLED_LIBS=ON - make html - diff --git a/.github/workflows/test-pip.yaml b/.github/workflows/test-pip.yaml new file mode 100644 index 0000000000..f65f1ca08d --- /dev/null +++ b/.github/workflows/test-pip.yaml @@ -0,0 +1,44 @@ +name: Test pip + +on: + push: + branches: [ master ] + paths-ignore: 'doc/**' + pull_request: + branches: [ master ] + paths-ignore: 'doc/**' + +jobs: + testpip: + name: "Pip build test + Python examples test" + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + python-version: [3.7] + steps: + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Clone w/ submodules + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Update pip and setup venv + run: python -m pip install --upgrade pip && python -m venv ~/env && . ~/env/bin/activate && echo PATH=$PATH >> $GITHUB_ENV + - name: Debug info Python + run: | + which python + python --version + pip --version + - name: Build and install Arbor using pip + build flags + run: CMAKE_ARGS="-DARB_VECTORIZE=ON -DARB_ARCH=native" pip install . --user + - name: Check that build flags match + run: | + python -c "import arbor; print(arbor.config())" | grep -q "'arch': 'native'" + - name: Run Python tests + run: python -m unittest discover -v -s python + - name: Run Python examples + run: scripts/run_python_examples.sh + - name: Test executables + run: scripts/test_executables.sh