Merge pull request #52 from ttngu207/main #2
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: build | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main"] | |
workflow_dispatch: | |
inputs: | |
name: | |
description: 'description' | |
required: false | |
default: '' | |
permissions: | |
contents: read | |
jobs: | |
build: | |
name: ${{ matrix.platform }}, py${{ matrix.python-version }}, ${{ matrix.extra }}, ${{ matrix.install-level }} | |
runs-on: ${{ matrix.platform }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ | |
# ubuntu-latest, | |
# ubuntu-22.04, | |
ubuntu-20.04, | |
# # windows-latest, | |
windows-2022, | |
windows-2019, | |
macos-latest, | |
#macos-12.0, | |
macos-11.0, | |
# macos-10.15, | |
] | |
python-version: [ | |
"3.9", | |
# "3.10", | |
# "3.11", | |
# "3.12", | |
] | |
extra: [ | |
"all", | |
] | |
install-level: [ | |
system, | |
user, | |
] | |
steps: | |
- name: Set up conda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniconda-version: latest | |
activate-environment: sabatini-datajoint | |
auto-activate-base: true | |
auto-update-conda: true | |
remove-profiles: true | |
architecture: x64 | |
clean-patched-environment-file: true | |
run-post: true | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- name: Prepare PowerShell | |
shell: pwsh | |
run: | | |
conda info | |
conda list | |
- name: Check specs of the machine -- Linux | |
if: startsWith(matrix.platform, 'ubuntu') | |
run: | | |
## check cpu, memory, disk, etc. | |
## print the command inputs to the workflow | |
echo "CPU info (lscpu):" | |
lscpu | |
echo "Memory info (free -h):" | |
free -h | |
echo "Disk info (df -h):" | |
df -h | |
echo "Network info (ip a):" | |
ip a | |
echo "OS info (uname -a):" | |
uname -a | |
- name: Check specs of the machine -- Windows | |
if: startsWith(matrix.platform, 'windows') | |
run: | | |
## check cpu, memory, disk, etc. | |
## just do a generic check on system info | |
## print the command inputs to the workflow | |
echo "System info (systeminfo):" | |
systeminfo | |
- name: Check specs of the machine -- MacOS | |
if: startsWith(matrix.platform, 'macos') | |
run: | | |
## check cpu, memory, disk, etc. | |
## print the command inputs to the workflow | |
echo "CPU info (sysctl -n machdep.cpu.brand_string):" | |
sysctl -n machdep.cpu.brand_string | |
echo "Memory info (sysctl -n hw.memsize):" | |
sysctl -n hw.memsize | |
echo "Disk info (df -h):" | |
df -h | |
echo "OS info (uname -a):" | |
uname -a | |
- name: Install sabatini-datajoint with pip dependencies -- system-level | |
if: matrix.install-level == 'system' | |
run: | | |
## install dependencies with optional extras | |
pip install -e .[${{ matrix.extra }}] | |
- name: Install sabatini-datajoint with pip dependencies -- user-level | |
if: matrix.install-level == 'user' | |
run: | | |
pip install -e .[${{ matrix.extra }}] --user | |
- name: Check installed packages | |
run: | | |
pip list | |
conda list | |
- name: Run pytest | |
run: | | |
pip install pytest | |
python -m pytest --capture=tee-sys |