mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
6f61de54d3
It's nice we are able to compile with `tcc`. Let's not break that. CompCert is also neat, but its interpreter mode doesn't work on tox, so we only use the compiler.
105 lines
2.7 KiB
YAML
105 lines
2.7 KiB
YAML
name: ci
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
build-nacl:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
- name: Docker Build
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
file: other/docker/autotools/Dockerfile
|
|
|
|
build-win32:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
- uses: actions/checkout@v2
|
|
- name: Docker Build
|
|
run: .travis/cmake-win32 install
|
|
- name: Cross compilation
|
|
run: .travis/cmake-win32 script
|
|
|
|
build-win64:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
- uses: actions/checkout@v2
|
|
- name: Docker Build
|
|
run: .travis/cmake-win64 install
|
|
- name: Cross compilation
|
|
run: .travis/cmake-win64 script
|
|
|
|
build-freebsd:
|
|
runs-on: ubuntu-latest
|
|
container: toxchat/freebsd
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Build on FreeBSD
|
|
run: .travis/cmake-freebsd-stage2
|
|
|
|
build-macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Build and test
|
|
run: .travis/cmake-osx
|
|
|
|
build-tcc:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install dependencies
|
|
run:
|
|
sudo apt-get install -y --no-install-recommends
|
|
tcc
|
|
libconfig-dev
|
|
libopus-dev
|
|
libsodium-dev
|
|
libvpx-dev
|
|
- name: Build with TCC
|
|
run:
|
|
tcc
|
|
-o send_message_test
|
|
-Wall -Werror
|
|
-bench -g
|
|
auto_tests/send_message_test.c
|
|
testing/misc_tools.c
|
|
toxav/*.c
|
|
toxcore/*.c
|
|
toxencryptsave/*.c
|
|
$(pkg-config --cflags --libs libsodium opus vpx)
|
|
- name: Run the test
|
|
run: "./send_message_test | grep 'tox clients connected'"
|
|
|
|
build-compcert:
|
|
runs-on: ubuntu-latest
|
|
container: toxchat/compcert
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Build with CompCert
|
|
run:
|
|
ccomp
|
|
-o send_message_test
|
|
-Wall -Werror
|
|
-Wno-c11-extensions
|
|
-Wno-unknown-pragmas
|
|
-Wno-unused-variable
|
|
-fstruct-passing -fno-unprototyped -g
|
|
auto_tests/send_message_test.c
|
|
testing/misc_tools.c
|
|
toxav/*.c
|
|
toxcore/*.c
|
|
toxencryptsave/*.c
|
|
-D__COMPCERT__ -DDISABLE_VLA
|
|
-lpthread $(pkg-config --cflags --libs libsodium opus vpx)
|
|
- name: Run the test
|
|
run: "./send_message_test | grep 'tox clients connected'"
|