run all three test files on windows #31
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| jobs: | |
| linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache Conan | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.conan2 | |
| key: conan-${{ runner.os }}-${{ hashFiles('**/conanfile.py') }} | |
| restore-keys: | | |
| conan-${{ runner.os }}- | |
| - name: Install Conan | |
| run: | | |
| pip install conan | |
| - name: Configure Conan for C++20 | |
| run: | | |
| conan profile detect --force | |
| # Override to C++20 (not gnu20 to match CMAKE_CXX_EXTENSIONS=OFF) | |
| sed -i 's/compiler\.cppstd=.*/compiler.cppstd=20/' ~/.conan2/profiles/default || true | |
| echo "compiler.cppstd=20" >> ~/.conan2/profiles/default || true | |
| - name: Build project | |
| run: | | |
| chmod +x scripts/build.sh scripts/test.sh scripts/start-influxdb.sh scripts/stop-influxdb.sh | |
| ./scripts/build.sh Release | |
| - name: Start InfluxDB | |
| run: | | |
| ./scripts/start-influxdb.sh | |
| - name: Run tests | |
| run: | | |
| ./scripts/test.sh | |
| - name: Run demo | |
| run: | | |
| ./scripts/run-demo.sh | |
| - name: Stop InfluxDB | |
| if: always() | |
| run: | | |
| ./scripts/stop-influxdb.sh | |
| macos: | |
| runs-on: macos-latest | |
| # Note: Uses InfluxDB amd64 binary which runs on Apple Silicon via Rosetta | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache Conan | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.conan2 | |
| key: conan-${{ runner.os }}-${{ hashFiles('**/conanfile.py') }} | |
| restore-keys: | | |
| conan-${{ runner.os }}- | |
| - name: Cache InfluxDB | |
| uses: actions/cache@v4 | |
| id: cache-influxdb | |
| with: | |
| path: | | |
| influxdb-1.8.10-1 | |
| influxdb-1.8.10_darwin_amd64.tar.gz | |
| key: influxdb-1.8.10-macos-${{ runner.os }} | |
| restore-keys: | | |
| influxdb-1.8.10-macos- | |
| - name: Install Conan | |
| run: | | |
| pip install conan | |
| - name: Configure Conan for C++20 | |
| run: | | |
| conan profile detect --force | |
| # Override to C++20 (not gnu20 to match CMAKE_CXX_EXTENSIONS=OFF) | |
| sed -i '' 's/compiler\.cppstd=.*/compiler.cppstd=20/' ~/.conan2/profiles/default || true | |
| echo "compiler.cppstd=20" >> ~/.conan2/profiles/default || true | |
| - name: Build project | |
| run: | | |
| chmod +x scripts/build.sh scripts/test.sh | |
| ./scripts/build.sh Release | |
| - name: Download InfluxDB (if not cached) | |
| if: steps.cache-influxdb.outputs.cache-hit != 'true' | |
| run: | | |
| # Note: InfluxDB 1.8.10 only has amd64/x86_64 binaries, but will run on Apple Silicon via Rosetta | |
| scripts/download-influxdb.sh 1.8.10 darwin_amd64 | |
| - name: Start InfluxDB | |
| run: | | |
| chmod +x scripts/start-influxdb-native.sh | |
| scripts/start-influxdb-native.sh | |
| - name: Run tests | |
| run: | | |
| ./scripts/test.sh | |
| - name: Run demo | |
| run: | | |
| ./scripts/run-demo.sh | |
| - name: Stop InfluxDB | |
| if: always() | |
| run: | | |
| echo "Stopping InfluxDB..." | |
| if [ -n "$INFLUXDB_PID" ]; then | |
| kill $INFLUXDB_PID 2>/dev/null || true | |
| fi | |
| pkill -f influxd || true | |
| sleep 2 | |
| echo "InfluxDB stopped" | |
| windows: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache Conan | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.conan2 | |
| key: conan-${{ runner.os }}-${{ hashFiles('**/conanfile.py') }} | |
| restore-keys: | | |
| conan-${{ runner.os }}- | |
| - name: Cache InfluxDB | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| influxdb-1.8.10-1 | |
| influxdb-1.8.10_windows_amd64.zip | |
| key: influxdb-1.8.10-windows-${{ runner.os }} | |
| restore-keys: | | |
| influxdb-1.8.10-windows- | |
| - name: Install Conan | |
| run: | | |
| pip install conan | |
| - name: Configure Conan for C++20 | |
| shell: bash | |
| run: | | |
| conan profile detect --force | |
| # Override to C++20 for MSVC (uses simple "20" not "gnu20") | |
| sed -i 's/compiler\.cppstd=.*/compiler.cppstd=20/' ~/.conan2/profiles/default || true | |
| echo "compiler.cppstd=20" >> ~/.conan2/profiles/default || true | |
| - name: Build project | |
| run: | | |
| scripts\build.bat Release | |
| - name: Start InfluxDB | |
| run: | | |
| scripts\start-influxdb.bat | |
| - name: Run tests | |
| run: | | |
| scripts\test.bat | |
| - name: Run demo | |
| run: | | |
| scripts\run-demo.bat | |
| - name: Stop InfluxDB | |
| if: always() | |
| run: | | |
| scripts\stop-influxdb.bat |