Skip to content

Fix hang when using a remote server (was working only with embedded) #45

Fix hang when using a remote server (was working only with embedded)

Fix hang when using a remote server (was working only with embedded) #45

Workflow file for this run

name: CI and Deploy Docs
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: main
jobs:
clang-format-check:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Install clang-format
run: |
sudo apt-get update
sudo apt-get install -y clang-format
- name: Check clang-format
run: |
./check-format.sh
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Cache vcpkg artifacts
uses: actions/cache@v4
with:
path: |
vcpkg/downloads
vcpkg/buildtrees
vcpkg/packages
build/Release/vcpkg_installed
key: ${{ runner.os }}-vcpkg-${{ hashFiles('vcpkg.json', 'vcpkg-configuration.json') }}
restore-keys: |
${{ runner.os }}-vcpkg-
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
doxygen \
graphviz \
ninja-build \
libtommath1 \
libtomcrypt1
- name: Install Firebird
run: |
wget -nv -O Firebird-5.0.3.1683-0-linux-x64.tar.gz \
"https://github.com/FirebirdSQL/firebird/releases/download/v5.0.3/Firebird-5.0.3.1683-0-linux-x64.tar.gz"
tar xzf Firebird-5.0.3.1683-0-linux-x64.tar.gz
(cd Firebird-5.0.3.1683-0-linux-x64 && sudo ./install.sh -silent)
- name: Configure Firebird
run: |
{
echo "FIREBIRD=/opt/firebird"
echo "FIREBIRD_LOCK=${RUNNER_TEMP}"
echo "LD_LIBRARY_PATH=/opt/firebird/lib:${LD_LIBRARY_PATH}"
} >> "$GITHUB_ENV"
- name: Bootstrap vcpkg
run: |
./vcpkg/bootstrap-vcpkg.sh -disableMetrics
- name: Configure CMake
run: |
cmake -S . -B build/Release -DCMAKE_BUILD_TYPE=Release -G Ninja
- name: Build Release targets
run: |
cmake --build build/Release
- name: Run tests
run: |
./build/Release/out/bin/fb-cpp-test --log_level=all
- name: Build documentation
run: |
cmake --build build/Release --target docs
- name: Upload documentation artifact
uses: actions/upload-pages-artifact@v4
with:
path: build/Release/doc/docs/html
build-windows:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Cache vcpkg artifacts
uses: actions/cache@v4
with:
path: |
vcpkg/downloads
vcpkg/buildtrees
vcpkg/packages
build/vcpkg_installed
key: ${{ runner.os }}-vcpkg-${{ hashFiles('vcpkg.json', 'vcpkg-configuration.json') }}
restore-keys: |
${{ runner.os }}-vcpkg-
- name: Install Firebird
shell: cmd
run: |
set FB_ZIP=Firebird-5.0.3.1683-0-windows-x64.zip
powershell Invoke-WebRequest ^
"https://github.com/FirebirdSQL/firebird/releases/download/v5.0.3/$env:FB_ZIP" -OutFile "$env:FB_ZIP"
7z x -oC:\Firebird %FB_ZIP%
- name: Configure Firebird
shell: cmd
run: |
echo C:\Firebird>>%GITHUB_PATH%
- name: Bootstrap vcpkg
shell: cmd
run: |
vcpkg\bootstrap-vcpkg.bat -disableMetrics
- name: Configure CMake
shell: cmd
run: |
cmake -S . -B build -G "Visual Studio 17 2022"
- name: Build Release targets
shell: cmd
run: |
cmake --build build --config Release
- name: Run tests
shell: cmd
run: |
build\out\bin\Release\fb-cpp-test.exe
build-macos:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Cache vcpkg artifacts
uses: actions/cache@v4
with:
path: |
vcpkg/downloads
vcpkg/buildtrees
vcpkg/packages
build/Release/vcpkg_installed
key: ${{ runner.os }}-vcpkg-${{ hashFiles('vcpkg.json', 'vcpkg-configuration.json') }}
restore-keys: |
${{ runner.os }}-vcpkg-
- name: Install Firebird
run: |
wget -nv -O Firebird-5.0.3.1683-0-macos-arm64.pkg \
"https://github.com/FirebirdSQL/firebird/releases/download/v5.0.3/Firebird-5.0.3.1683-0-macos-arm64.pkg"
sudo installer -verbose -pkg Firebird-5.0.3.1683-0-macos-arm64.pkg -target /
- name: Configure Firebird
run: |
{
echo "FIREBIRD_LOCK=${RUNNER_TEMP}"
echo "DYLD_LIBRARY_PATH=/Library/Frameworks/Firebird.framework/Resources/lib:${DYLD_LIBRARY_PATH}"
echo "ISC_USER=sysdba"
echo "ISC_PASSWORD=masterkey"
} >> "$GITHUB_ENV"
- name: Bootstrap vcpkg
run: |
./vcpkg/bootstrap-vcpkg.sh -disableMetrics
- name: Configure CMake
run: |
cmake -S . -B build/Release -DCMAKE_BUILD_TYPE=Release -G Ninja
- name: Build Release targets
run: |
cmake --build build/Release
- name: Run tests
run: |
./build/Release/out/bin/fb-cpp-test --log_level=all
deploy-docs:
runs-on: ubuntu-latest
needs:
- clang-format-check
- build-linux
- build-windows
- build-macos
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4