mirror of
https://github.com/m1ngsama/TNT.git
synced 2026-02-08 08:54:05 +00:00
50 lines
1.1 KiB
YAML
50 lines
1.1 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
build-and-test:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies (Ubuntu)
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libssh-dev
|
|
|
|
- name: Install dependencies (macOS)
|
|
if: runner.os == 'macOS'
|
|
run: |
|
|
brew install libssh coreutils
|
|
|
|
- name: Build
|
|
run: make
|
|
|
|
- name: Build with AddressSanitizer
|
|
run: make asan
|
|
|
|
- name: Run comprehensive tests
|
|
run: |
|
|
make test
|
|
cd tests
|
|
./test_security_features.sh
|
|
# Skipping anonymous access test in CI as it requires interactive pty handling which might be flaky
|
|
# ./test_anonymous_access.sh
|
|
|
|
- name: Check for memory leaks
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
sudo apt-get install -y valgrind
|
|
timeout 10 valgrind --leak-check=full --error-exitcode=1 ./tnt &
|
|
sleep 5
|
|
pkill tnt || true
|