Skip to content

Merge pull request #152 from VirtualCable/dev/andres/master-req #116

Merge pull request #152 from VirtualCable/dev/andres/master-req

Merge pull request #152 from VirtualCable/dev/andres/master-req #116

Workflow file for this run

name: Test OpenUDS
permissions:
contents: read
on:
push:
branches:
- '**'
pull_request:
jobs:
test:
runs-on: ubuntu-24.04
defaults:
run:
working-directory: server
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libsasl2-dev \
libxmlsec1-dev \
python3-dev \
libldap2-dev \
libssl-dev \
libmemcached-dev \
zlib1g-dev \
gcc
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# Install lxmlsec with local libraries to avoid binary wheel issues
pip install --upgrade --no-binary lxml --no-binary xmlsec lxml xmlsec
# Install other requirements
pip install -r requirements.txt
- name: Set PYTHONPATH
run: echo "PYTHONPATH=$PWD/src" >> $GITHUB_ENV
- name: Copy Django settings
run: cp src/server/settings.py.sample src/server/settings.py
- name: Generate RSA key and set as environment variable
run: |
openssl genrsa 2048 > private.pem
RSA_KEY=$(awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' private.pem)
echo "RSA_KEY=$RSA_KEY" >> $GITHUB_ENV
- name: Patch settings.py with generated RSA key
run: |
sed -i "s|^RSA_KEY = .*|RSA_KEY = '''$RSA_KEY'''|" src/server/settings.py
- name: Create log directory
run: mkdir -p src/log
- name: Run tests with pytest
run: python3 -m pytest