feat docs: add Debian badge to Readme.md #6683
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: Conan | |
'on': | |
pull_request: | |
push: | |
branches: | |
- master | |
- develop | |
- feature/** | |
env: | |
UBSAN_OPTIONS: print_stacktrace=1 | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
container: ${{ matrix.container }} | |
name: "${{ matrix.os }} (container: ${{ matrix.container || 'GithubCI' }})" | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-22.04 | |
conanflags: '' | |
tests-env: 'JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' | |
- os: ubuntu-22.04 | |
container: ubuntu:22.04 | |
conanflags: '' | |
tests-env: 'JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' | |
- os: macos-14 | |
conanflags: '-o python_path=python3.11' | |
tests-env: '' | |
steps: | |
- name: Install sudo | |
if: matrix.container == 'ubuntu:22.04' | |
run: | | |
DEBIAN_FRONTEND=noninteractive apt update | |
DEBIAN_FRONTEND=noninteractive apt install -y sudo | |
- name: Install Ubuntu packages | |
if: matrix.os == 'ubuntu-22.04' | |
run: | | |
sudo DEBIAN_FRONTEND=noninteractive apt update | |
sudo DEBIAN_FRONTEND=noninteractive apt install -y \ | |
libpq-dev \ | |
gcc g++ cmake git clang-format \ | |
python3 python3-pip python3-venv | |
- name: Install MacOS packages | |
if: matrix.os == 'macos-14' | |
run: | | |
brew update | |
brew tap mongodb/brew | |
brew install clang-format postgresql redis kafka rabbitmq mongodb-community | |
brew install [email protected] | |
- name: Checkout | |
uses: actions/checkout@v5 | |
- name: Change permissions | |
if: matrix.container == 'ubuntu:22.04' | |
run: | | |
useradd -m -G sudo -s /bin/bash test-user | |
chown -R test-user . | |
- name: Install common packages | |
run: | | |
pip install "conan==2.8.0" | |
pip install numpy | |
${{ matrix.container && 'sudo -u test-user' }} conan profile detect | |
${{ matrix.container && 'sudo -u test-user' }} conan profile show | |
- name: Run conan | |
run: | | |
${{ matrix.container && 'sudo -u test-user' }} git config --global --add safe.directory `pwd` | |
${{ matrix.container && 'sudo -u test-user' }} conan create . --build=missing -s:a compiler.cppstd=17 -pr:b=default ${{matrix.conanflags}} | |
- name: Install test dependencies | |
if: matrix.os == 'ubuntu-22.04' | |
run: | | |
sudo DEBIAN_FRONTEND=noninteractive apt install -y curl wget lsb-release | |
wget -qO- https://pgp.mongodb.com/server-7.0.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/mongodb-server-7.0.gpg >/dev/null | |
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" \ | |
| sudo tee -a /etc/apt/sources.list.d/mongodb-org-7.0.list | |
sudo DEBIAN_FRONTEND=noninteractive apt update | |
sudo DEBIAN_FRONTEND=noninteractive apt install -y postgresql redis mongodb-org mongodb-mongosh locales | |
${{ matrix.container && 'sudo locale-gen en_US.UTF-8' }} | |
${{ matrix.container && 'update-locale LC_ALL="en_US.UTF-8" LANG="en_US.UTF-8" LANGUAGE="en_US.UTF-8"' }} | |
sudo ./scripts/kafka/ubuntu_install_kafka.sh | |
sudo ./scripts/rabbitmq/ubuntu_install_rabbitmq_server.sh | |
- name: Test userver conan package | |
run: |- | |
mv libraries/easy/samples/3_json samples/ | |
mv scripts/tests/conanfile.py samples/ | |
rm -rf userver/cmake/ | |
cd samples/ | |
USERVER_VERSION=$(${{ matrix.container && 'sudo -u test-user' }} conan list -c -v quiet userver/* | tail -n 1) | |
for SAMPLE in \ | |
3_json \ | |
chaotic_service \ | |
embedded_files \ | |
grpc_service \ | |
otlp_service \ | |
hello_service \ | |
https_service \ | |
postgres_service \ | |
redis_service \ | |
${{ matrix.container && ' ' || 'kafka_service' }} \ | |
rabbitmq_service \ | |
mongo_service \ | |
s3api \ | |
; do | |
mv conanfile.py $SAMPLE/ | |
echo "Run: ${{ matrix.container && 'sudo -u test-user' }} ${{matrix.tests-env}} conan test $SAMPLE/ --build=never -s:a compiler.cppstd=17 -pr:b=default ${{matrix.conanflags}} ${USERVER_VERSION}" | |
${{ matrix.container && 'sudo -u test-user' }} ${{matrix.tests-env}} conan test $SAMPLE/ --build=never -s:a compiler.cppstd=17 -pr:b=default ${{matrix.conanflags}} ${USERVER_VERSION} | |
mv $SAMPLE/conanfile.py ./ | |
done |