Skip to content

Specify user to rate limit #660

Specify user to rate limit

Specify user to rate limit #660

Workflow file for this run

name: Build
on: [push]
jobs:
Mingw:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Update OS and Compilers
run: |
sudo apt install -y cmake ninja-build
sudo apt install -y mingw-w64
- name: Build proxy
run: |
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=./cmake/mingw.cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DBOOST_EXCLUDE_LIBRARIES="stacktrace;redis;mysql;multiprecision;log;iostreams;charconv;locale" -G Ninja
cmake --build build --config Release
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: proxy_server-mingw_w64
path: build/bin/release/proxy_server.exe
Docker:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Build proxy
run: |
docker build . -t proxy:v1
docker create --name ps proxy:v1
mkdir -p build/docker
docker cp ps:/usr/local/bin/proxy_server build/docker
docker cp ps:/usr/local/bin/proxy_server-wolfssl build/docker
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: proxy_server-linux_musl_x64
path: build/docker/
Linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update OS and Compilers
run: |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt install -y cmake gcc-12 g++-12 ninja-build
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 10
- name: Build proxy
run: |
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_WERROR=OFF -G Ninja
cmake --build build --config Release
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: proxy_server-linux_glibc_x64
path: build/bin/proxy_server
Alpine:
runs-on: ubuntu-latest
container:
image: alpine:3.20.1
steps:
- name: Install packages
run: apk add bash git nasm yasm pkgconfig build-base clang cmake ninja linux-headers
- uses: actions/checkout@v4
- name: Build proxy
run: |
CC=clang CXX=clang++ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS="-static" -G Ninja
cmake --build build --config Release
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: proxy_server-alpine_musl_x64
path: build/bin/proxy_server
MiMalloc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update OS and Compilers
run: |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt install -y cmake gcc-12 g++-12 ninja-build
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 10
- name: Build mimalloc
run: |
git clone https://github.com/microsoft/mimalloc.git
cd mimalloc && mkdir build && cd build && git checkout tags/v2.1.2
echo "Building mimalloc..."
cmake -DCMAKE_BUILD_TYPE=Release -DMI_BUILD_STATIC=ON -DMI_BUILD_SHARED=OFF -DMI_BUILD_TESTS=OFF -DMI_BUILD_OBJECT=ON ..
make -j4
echo "Installing mimalloc..."
sudo make install
- name: Build proxy
run: |
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_WERROR=OFF -DENABLE_MIMALLOC_STATIC=ON -G Ninja
cmake --build build --config Release
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: proxy_server-linux_mimalloc
path: build/bin/proxy_server
SnMalloc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update OS and Compilers
run: |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt install -y cmake gcc-12 g++-12 ninja-build
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 10
- name: Build proxy
run: |
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_WERROR=OFF -DENABLE_SNMALLOC_STATIC=ON -G Ninja
cmake --build build --config Release
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: proxy_server-linux_snmalloc
path: build/bin/proxy_server
Windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Build proxy
run: |
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_WERROR=OFF
cmake --build build --config Release
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: proxy_server-msvc_x64
path: build/bin/release/proxy_server.exe