Skip to content

Internal testing logic #30

Internal testing logic

Internal testing logic #30

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: tests
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the main branch
on:
push:
branches:
- main
- release_*
pull_request:
branches:
- main
- release_*
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
strategy:
matrix:
# Test all supported Python versions under Ubuntu
os: [ubuntu-latest]
python-version: ['3.9', '3.10', '3.11']
# python-version: ['3.9', '3.10', '3.11', '3.12']
# # Additionally, test one Python version under MacOS and Windows, to detect OS-specific issues
# include:
# - os: macos-latest
# python-version: '3.12'
# - os: windows-latest
# python-version: '3.12'
# The type of runner that the job will run on.
runs-on: ${{ matrix.os }}
# Tasks executed in the job.
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
# Set up the Python environment and dependencies
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
python -m pip install pytest
python -m pip install poetry
- name: Install SNEWS_Coincidence_System
run: |
python -m poetry install
- name: Install hop-client
run: |
pip install setuptools wheel
wget https://files.pythonhosted.org/packages/64/d1/108cea042128c7ea7790e15e12e3e5ed595bfcf4b051c34fe1064924beba/hop-client-0.9.0.tar.gz
tar -xzf hop-client-0.9.0.tar.gz
cd hop-client-0.9.0
python setup.py install
cd /home/runner/work/SNEWS_Coincidence_System/SNEWS_Coincidence_System
- shell: bash
env:
USERNAME: ${{ secrets.hop_user_name }}
PASSWORD: ${{ secrets.hop_user_password }}
run: |
sudo apt-get install -y expect
which expect
/usr/bin/expect << HOP
spawn hop auth add
expect "Username:"
send "$USERNAME\n"
expect "Password:"
send "$PASSWORD\n"
expect "Hostname (may be empty):"
send "kafka.scimma.org\n"
expect "Token endpoint (empty if not applicable):"
send "\n"
expect eof
HOP
hop auth locate
# Run the unit tests
- name: Test with pytest
run: |
python -m poetry run pytest snews_cs