fix typo from f- to r-string #12
Workflow file for this run
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: Tests | |
# yamllint disable-line rule:truthy | |
on: | |
push: | |
branches: | |
- 'main*' | |
- 'dev*' | |
pull_request: | |
branches: | |
- 'main*' | |
- 'dev*' | |
workflow_dispatch: | |
jobs: | |
pytest: | |
runs-on: ubuntu-latest | |
if: | | |
github.event_name == 'push' || | |
github.event.pull_request.draft == false | |
strategy: | |
fail-fast: false | |
matrix: | |
tokamak: | |
- C-MOD | |
- DIII-D | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Add MDSplus sources | |
env: | |
GPG: http://www.mdsplus.org/dist/mdsplus.gpg.key | |
KEY: /usr/share/keyrings/mdsplus.asc | |
REPO: http://www.mdsplus.org/dist/Ubuntu22/repo | |
APT: /etc/apt/sources.list.d/mdsplus.list | |
run: | | |
curl -fsSL "$GPG" \ | |
| sudo tee "$KEY" | |
echo "deb [arch=amd64 signed-by=$KEY] $REPO MDSplus alpha" \ | |
| sudo tee "$APT" | |
- name: Update sources | |
run: sudo apt-get update | |
- name: Install prerequisites | |
run: | | |
sudo apt-get install msodbcsql17 # pre-installed | |
sudo apt-get install tdsodbc unixodbc # freetds | |
sudo apt-get install mdsplus-alpha-python # mdsplus | |
- name: Configure MDSplus | |
run: | | |
{ | |
echo PYTHONPATH=/usr/local/mdsplus/python | |
echo LD_LIBRARY_PATH=/usr/local/mdsplus/lib | |
} \ | |
| tee -a "$GITHUB_ENV" | |
- name: Setup SSH key | |
run: | | |
mkdir ~/.ssh | |
echo "${{ secrets.SSH_TUNNEL }}" \ | |
| tee ~/.ssh/id_rsa \ | |
| sha256sum | |
chmod 600 ~/.ssh/id_rsa | |
- name: Setup C-MOD | |
if: ${{ matrix.tokamak == 'C-MOD' }} | |
run: | | |
ssh "${{ secrets.CMOD_USER }}@${{ secrets.CMOD_HOST }}" \ | |
-p "${{ secrets.CMOD_PORT }}" \ | |
-L 8000:alcdata-archives:8000 \ | |
-L 1433:alcdb2:1433 \ | |
-o StrictHostKeyChecking=no \ | |
-N -v 2> ssh.log & | |
echo "$!" \ | |
| tee ssh.pid | |
echo "127.0.0.1 alcdata-archives alcdb2" \ | |
| sudo tee -a /etc/hosts | |
echo "${{ secrets.CMOD_LOGIN }}" \ | |
| tee ~/logbook.sybase_login \ | |
| sha256sum | |
- name: Setup DIII-D | |
if: ${{ matrix.tokamak == 'DIII-D' }} | |
env: | |
TDS: /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so | |
run: | | |
ssh "${{ secrets.DIIID_USER }}@${{ secrets.DIIID_HOST }}" \ | |
-p "${{ secrets.DIIID_PORT }}" \ | |
-L 8000:atlas:8000 \ | |
-L 8001:d3drdb:8001 \ | |
-o StrictHostKeyChecking=no \ | |
-N -v 2> ssh.log & | |
echo "$!" \ | |
| tee ssh.pid | |
echo "127.0.0.1 atlas d3drdb" \ | |
| sudo tee -a /etc/hosts | |
echo "${{ secrets.DIIID_LOGIN }}" \ | |
| tee ~/D3DRDB.sybase_login \ | |
| sha256sum | |
echo -e "[FreeTDS]\nDescription = FreeTDS\nDriver = $TDS" \ | |
| sudo tee -a /etc/odbcinst.ini | |
echo DIIID_TEST=1 \ | |
| tee -a "$GITHUB_ENV" | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install requirements | |
run: | | |
pip install -r .pip/main.txt -r .pip/dev.txt | |
pip install -e . | |
- name: Check tunnel | |
run: | | |
xargs -a ssh.pid ps -p | |
if ! grep 'Authenticated.*publickey' ssh.log | |
then | |
curl ipinfo.io | |
cat -n ssh.log | |
false | |
fi | |
- name: Test SQL | |
run: python -O examples/sql.py | |
- name: Test MDSplus | |
run: python examples/mdsplus.py | |
- name: Test EFIT | |
run: python examples/efit.py | |
- name: Test quick | |
run: pytest -v tests/test_quick.py | |
- name: Close tunnel | |
run: xargs -a ssh.pid kill -TERM |