version: 2.1 jobs: native-aliases-arm64: resource_class: arm.medium machine: image: ubuntu-2404:current environment: CFLAGS: -Wextra -Werror -march=native -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING CXXFLAGS: -Wextra -Werror -march=native -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING CC: gcc CXX: g++ steps: - run: sudo apt-get update && sudo apt-get install -y git ninja-build pipx gcc-14 g++-14 libxml2-utils ccache - checkout - restore_cache: keys: - ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} - ccache-{{ .Environment.CIRCLE_JOB }}-master - ccache-{{ .Environment.CIRCLE_JOB }} - run: cat /proc/cpuinfo /proc/meminfo - run: command: | ccache --set-config=max_size='500M' ccache --set-config=compression=true ccache -p ccache -z - run: pipx install meson==0.55.1 - run: ./test/native-aliases.sh - run: | export PATH=/usr/lib/ccache:${PATH} CC="ccache gcc-14" CXX="ccache g++-14" ${HOME}/.local/bin/meson setup build -Db_coverage=true ninja -C build -v -j $(nproc) - run: /usr/bin/ccache -s - save_cache: key: 'ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ epoch }}' paths: [ "/home/circleci/.cache/ccache" ] when: always - run: ninja -C build -v test gcc: resource_class: large docker: - image: debian:testing-slim auth: username: $DOCKERHUB_USERNAME password: $DOCKERHUB_PASSWORD environment: CFLAGS: -Wextra -Werror -march=native CXXFLAGS: -Wextra -Werror -march=native CC: gcc CXX: g++ steps: - run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr gcc g++ ccache - checkout - restore_cache: keys: - ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} - ccache-{{ .Environment.CIRCLE_JOB }}-master - ccache-{{ .Environment.CIRCLE_JOB }} - run: cat /proc/cpuinfo /proc/meminfo - run: command: | ccache --set-config=max_size='500M' ccache --set-config=compression=true ccache -p ccache -z - run: pipx install meson==0.55.1 - run: | export PATH=/usr/lib/ccache:${PATH} CC="ccache gcc" CXX="ccache g++" /root/.local/bin/meson setup build ninja -C build -v -j 5 - run: /usr/bin/ccache -s - save_cache: key: 'ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ epoch }}' paths: [ "/root/.cache/ccache" ] when: always - run: ninja -C build -v test portable-memfunctions: resource_class: large docker: - image: debian:testing-slim auth: username: $DOCKERHUB_USERNAME password: $DOCKERHUB_PASSWORD environment: CFLAGS: -Wextra -Werror -march=native -DSIMDE_NO_STDLIB CXXFLAGS: -Wextra -Werror -march=native -DSIMDE_NO_STDLIB CC: gcc CXX: g++ steps: - run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr gcc g++ ccache - checkout - restore_cache: keys: - ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} - ccache-{{ .Environment.CIRCLE_JOB }}-master - ccache-{{ .Environment.CIRCLE_JOB }} - run: cat /proc/cpuinfo /proc/meminfo - run: command: | ccache --set-config=max_size='500M' ccache --set-config=compression=true ccache -p ccache -z - run: pipx install meson==0.55.1 - run: | export PATH=/usr/lib/ccache:${PATH} CC="ccache gcc" CXX="ccache g++" /root/.local/bin/meson setup build ninja -C build -v -j 5 - run: /usr/bin/ccache -s - save_cache: key: 'ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ epoch }}' paths: [ "/root/.cache/ccache" ] when: always - run: ninja -C build -v test clang: resource_class: large docker: - image: debian:testing-slim auth: username: $DOCKERHUB_USERNAME password: $DOCKERHUB_PASSWORD environment: CFLAGS: -Weverything -Werror -march=native CXXFLAGS: -Weverything -Werror -march=native steps: - run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr clang ccache - checkout - restore_cache: keys: - ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} - ccache-{{ .Environment.CIRCLE_JOB }}-master - ccache-{{ .Environment.CIRCLE_JOB }} - run: cat /proc/cpuinfo /proc/meminfo - run: command: | ccache --set-config=max_size='500M' ccache --set-config=compression=true ccache -p ccache -z - run: pipx install meson==0.55.1 - run: | export PATH=/usr/lib/ccache:${PATH} CFLAGS="-Wno-unsafe-buffer-usage" CXXFLAGS="-Wno-unsafe-buffer-usage" CC="ccache clang" CXX="ccache clang++" /root/.local/bin/meson setup build ninja -C build -v -j 5 - run: /usr/bin/ccache -s - save_cache: key: 'ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ epoch }}' paths: [ "/root/.cache/ccache" ] when: always - run: ninja -C build -v test i686: resource_class: large docker: - image: debian:testing-slim auth: username: $DOCKERHUB_USERNAME password: $DOCKERHUB_PASSWORD steps: - run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr {gcc,g++}-i686-linux-gnu libc6-i386-cross qemu-user-static ccache - checkout - restore_cache: keys: - ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} - ccache-{{ .Environment.CIRCLE_JOB }}-master - ccache-{{ .Environment.CIRCLE_JOB }} - run: name: System Information command: cat /proc/cpuinfo /proc/meminfo - run: dpkg --add-architecture i386 - run: pipx install meson==0.55.1 - run: command: | ccache --set-config=max_size='500M' ccache --set-config=compression=true ccache -p ccache -z - run: | export PATH=/usr/lib/ccache:${PATH} /root/.local/bin/meson setup build --cross-file docker/cross-files/i686-gcc-qemu-ccache.cross /root/.local/bin/meson compile -C build --verbose -j 5 - run: /usr/bin/ccache -s - save_cache: key: 'ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ epoch }}' paths: [ "/root/.cache/ccache" ] when: always - run: /root/.local/bin/meson test -C build --num-processes 5 --print-errorlogs i686-gcc12-O2: resource_class: large docker: - image: debian:stable-slim auth: username: $DOCKERHUB_USERNAME password: $DOCKERHUB_PASSWORD steps: - run: apt-get update && apt-get install -y git ssh ninja-build pipx python3-setuptools python3-wheel gcovr {gcc,g++}-12-i686-linux-gnu libc6-i386-cross qemu-user-static ccache build-essential - checkout - restore_cache: keys: - ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} - ccache-{{ .Environment.CIRCLE_JOB }}-master - ccache-{{ .Environment.CIRCLE_JOB }} - run: name: System Information command: cat /proc/cpuinfo /proc/meminfo - run: dpkg --add-architecture i386 - run: pipx install meson==0.55.1 - run: command: | ccache --set-config=max_size='500M' ccache --set-config=compression=true ccache -p ccache -z - run: | export PATH=/usr/lib/ccache:${PATH} /root/.local/bin/meson setup build --cross-file docker/cross-files/i686-gcc-12-qemu-ccache.cross /root/.local/bin/meson compile -C build --verbose -j 5 - run: /usr/bin/ccache -s - save_cache: key: 'ccache-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ epoch }}' paths: [ "/root/.cache/ccache" ] when: always - run: /root/.local/bin/meson test -C build --num-processes 5 --print-errorlogs workflows: version: 2 test: jobs: - native-aliases-arm64: filters: branches: ignore: - /^ci/(?!circleci).*$/ - portable-memfunctions: filters: branches: ignore: - /^ci/(?!circleci).*$/ - gcc: filters: branches: ignore: - /^ci/(?!circleci).*$/ - clang: filters: branches: ignore: - /^ci/(?!circleci).*$/ # - i686: # filters: # branches: # ignore: # - /^ci/(?!circleci).*$/ - i686-gcc12-O2: filters: branches: ignore: - /^ci/(?!circleci).*$/