Skip to content

chore: bump version to 1.0.0 #1

chore: bump version to 1.0.0

chore: bump version to 1.0.0 #1

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
build-test:
runs-on: ubuntu-latest
strategy:
matrix:
build_type: [Debug, Release]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
libglfw3-dev \
libcurl4-openssl-dev \
libcjson-dev \
libgl1-mesa-dev \
libx11-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
pkg-config \
git \
valgrind
- name: Fetch external dependencies
run: |
chmod +x scripts/fetch_dependencies.sh
./scripts/fetch_dependencies.sh
- name: Configure CMake
run: |
cmake -S . -B cmake-build-${{ matrix.build_type }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- name: Build
run: |
cmake --build cmake-build-${{ matrix.build_type }} --config ${{ matrix.build_type }}
- name: Verify binary exists
run: |
if [ -f "cmake-build-${{ matrix.build_type }}/bin/TinyRequest" ] || [ -f "cmake-build-${{ matrix.build_type }}/bin/tinyrequest" ]; then
echo "Binary built successfully"
ls -la cmake-build-${{ matrix.build_type }}/bin/
[ -f "cmake-build-${{ matrix.build_type }}/bin/TinyRequest" ] && file cmake-build-${{ matrix.build_type }}/bin/TinyRequest
[ -f "cmake-build-${{ matrix.build_type }}/bin/tinyrequest" ] && file cmake-build-${{ matrix.build_type }}/bin/tinyrequest
else
echo "Binary not found"
find cmake-build-${{ matrix.build_type }} -name "TinyRequest" -o -name "tinyrequest" || true
exit 1
fi
- name: Check for memory leaks (Debug only)
if: matrix.build_type == 'Debug'
run: |
echo "Running basic memory leak check..."
# Note: This is a basic check. In a real scenario, you'd run actual tests
valgrind --version
echo "Memory leak checking would be implemented with actual test cases"
- name: Test package build (Release only)
if: matrix.build_type == 'Release'
run: |
echo "Testing package build process..."
chmod +x scripts/build_and_package.sh
# Test the build script without sudo (will fail at dpkg-deb but that's expected)
timeout 300 ./scripts/build_and_package.sh || true
echo "Package build test completed"
code-quality:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install analysis tools
run: |
sudo apt-get update
sudo apt-get install -y cppcheck clang-tidy
- name: Run cppcheck
run: |
echo "Running static analysis with cppcheck..."
cppcheck --enable=all --inconclusive --std=c11 --std=c++17 \
--suppress=missingIncludeSystem \
--suppress=unusedFunction \
--suppress=unmatchedSuppression \
src/ include/ || true
echo "Static analysis completed"
- name: Check code formatting
run: |
echo "Checking code style..."
# This is a placeholder - you could add actual formatting checks
find src include -name "*.c" -o -name "*.cpp" -o -name "*.h" | wc -l
echo "Code style check completed"