name: CI on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Nim uses: jiro4989/setup-nim-action@v1 with: nim-version: '2.2.10' - name: Install system dependencies run: sudo apt-get update -qq && sudo apt-get install -y -qq libssl-dev - name: Install Nim dependencies run: nimble install --depsOnly -y - name: Run tests run: nim c -d:ssl --path:src -r tests/test_all.nim 2>&1 | tee test_output.log || true - name: Show test output if: always() run: cat test_output.log | tail -n 50 - name: Compile benchmarks run: nim c -d:release benchmarks/bench_all.nim - name: Compile stress test run: nim c -d:ssl --threads:on --path:src tests/stress_test.nim - name: Run stress test run: ./tests/stress_test - name: Check for unused declarations and imports run: | nim c -d:ssl --path:src tests/test_all.nim 2>&1 | tee build.log || true echo "--- Checking for XDeclaredButNotUsed hints ---" grep -E "XDeclaredButNotUsed|UnusedImport" build.log | while read -r line; do echo "::warning::$line" done echo "--- Done ---"