Skip to content

fix: Debug build can't use haskell code for now. #1609

fix: Debug build can't use haskell code for now.

fix: Debug build can't use haskell code for now. #1609

Workflow file for this run

---
name: ci
# These checks only run on pull requests as they don't need to publish anything
# on push. See docker.yml for jobs that run on pushes.
on:
pull_request:
branches: [master]
# Cancel old PR builds when pushing new commits.
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
common:
uses: TokTok/ci-tools/.github/workflows/common-ci.yml@master
hie-bios:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: "Generate HIE BIOS output and haskell_targets.bzl"
run: tools/haskell/hie-docker
- name: "Verify that haskell_targets.bzl didn't change"
run: git diff --exit-code
docker-haskell:
runs-on: ubuntu-22.04
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build toxchat/toktok-stack:haskell
uses: docker/build-push-action@v5
with:
file: tools/built/src/Dockerfile.haskell
tags: toxchat/toktok-stack:haskell
cache-from: type=registry,ref=toxchat/toktok-stack:haskell
docker-test:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build toxchat/toktok-stack:latest-third_party
run: docker compose build third_party
- name: Build toxchat/toktok-stack:latest
run: docker compose build latest
- name: Set up environment
run: |
echo "GROUP_ID=$(id -g)" >.env
echo "USER_ID=$(id -u)" >>.env
- name: Build for msan
run: |
tar -C .. -xf <(curl -L https://github.com/TokTok/toktok-stack/releases/download/nightly/msan.tar)
docker compose run --rm msan
docker kill bazel-cache
rm -rf ../bazel-cache
- name: Build for asan
run: |
tar -C .. -xf <(curl -L https://github.com/TokTok/toktok-stack/releases/download/nightly/asan.tar)
docker compose run --rm asan
docker kill bazel-cache
rm -rf ../bazel-cache
- name: Build for release
run: |
tar -C .. -xf <(curl -L https://github.com/TokTok/toktok-stack/releases/download/nightly/release.tar)
docker compose run --rm release
docker kill bazel-cache
rm -rf ../bazel-cache
- name: Build for arm64
run: |
tar -C .. -xf <(curl -L https://github.com/TokTok/toktok-stack/releases/download/nightly/arm64.tar)
docker compose run --rm arm64
docker kill bazel-cache
rm -rf ../bazel-cache
- name: Build for windows
run: |
tar -C .. -xf <(curl -L https://github.com/TokTok/toktok-stack/releases/download/nightly/windows.tar)
docker compose run --rm windows
docker kill bazel-cache
rm -rf ../bazel-cache
- name: Build for fastbuild
run: |
tar -C .. -xf <(curl -L https://github.com/TokTok/toktok-stack/releases/download/nightly/fastbuild.tar)
docker compose run --rm fastbuild
docker kill bazel-cache
rm -rf ../bazel-cache
- name: Build toxchat/toktok-stack:latest-dev
run: docker build -t toxchat/toktok-stack:latest-dev -f tools/built/src/Dockerfile.dev .
local-build:
runs-on: ubuntu-24.04
env:
CC: clang
CXX: clang++
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download bazelisk
run: |
curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-amd64.deb -o bazelisk-amd64.deb
sudo apt-get install ./bazelisk-amd64.deb
- name: Install nix
run: |
curl -L https://nixos.org/nix/install -o install.sh
sh install.sh --no-channel-add --yes
rm install.sh
. "$HOME/.nix-profile/etc/profile.d/nix.sh"
nix-channel --add https://github.com/NixOS/nixpkgs/archive/a81bbdfb658428a45c69a42aa73d4bd18127c467.tar.gz nixpkgs
nix-channel --update
- name: Install mold
run: sudo apt-get install mold
- name: Build
run: |
. /home/runner/.nix-profile/etc/profile.d/nix.sh
nix-shell -p patchelf --run "patchelf --version"
bazel test --config=ci --config=local --config=remote -- //... -//jvm-toxcore-c/... -//third_party/...
macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
run: sh <(curl -L https://nixos.org/nix/install) --yes
- name: Build
run: bazel test --config=remote //c-toxcore/toxcore/...
mypy:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install mypy
run: pip install mypy
- name: Run mypy
run: make mypy