Live video on the AT Protocol
1name: build
2
3on:
4 pull_request:
5 push:
6 branches:
7 - next
8
9concurrency:
10 group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
11 cancel-in-progress: true
12
13jobs:
14 linux:
15 name: ${{ matrix.name }}
16 runs-on: ubuntu-latest
17 strategy:
18 matrix:
19 include:
20 - name: linux-amd64
21 cmd: >-
22 make && (make test || make test) && make check && make ci-lexicons
23 - name: linux-arm64
24 cmd: "make app && make linux-arm64"
25 - name: windows-amd64
26 cmd: "make app && make windows-amd64"
27 - name: android
28 cmd: "make app && make android-release"
29 steps:
30 - name: Check out code
31 uses: actions/checkout@v4.1.7
32 with:
33 fetch-depth: 0
34 ref: ${{ github.event.pull_request.head.sha }}
35
36 - name: make node
37 run: |
38 sudo apt install podman -y
39 make in-container DOCKER_OPTS="-e STREAMPLACE_IGNORE_LEAKS=true -e STREAMPLACE_TEST_COUNT=1 -e CI=true" IN_CONTAINER_CMD="${{ matrix.cmd }}"
40
41 darwin:
42 name: ${{ matrix.name }}
43 runs-on: ${{ matrix.runs-on }}
44 strategy:
45 matrix:
46 include:
47 - name: darwin-arm64
48 runs-on: macos-15
49 cmd: make && make test && make check
50 xcode-version: "16.1.0"
51 - name: ios
52 runs-on: macos-15
53 cmd: make ios
54 xcode-version: "16.1.0"
55 - name: darwin-amd64
56 runs-on: macos-13
57 cmd: make
58 xcode-version: "15.2.0"
59 steps:
60 - name: Check out code
61 uses: actions/checkout@v4.1.7
62 with:
63 fetch-depth: 0
64 ref: ${{ github.event.pull_request.head.sha }}
65
66 - uses: actions/setup-node@v4
67 with:
68 node-version: 22
69
70 - uses: maxim-lobanov/setup-xcode@v1
71 with:
72 xcode-version: ${{ matrix.xcode-version }}
73
74 - name: Build Streamplace
75 env:
76 STREAMPLACE_TEST_COUNT: "1"
77 STREAMPLACE_IGNORE_LEAKS: "true"
78 NODE_OPTIONS: "--max_old_space_size=4096"
79 run: |
80 export GOTOOLCHAIN=go1.24.2 \
81 && brew install go \
82 && python -m pip install virtualenv \
83 && python -m virtualenv ~/venv \
84 && source ~/venv/bin/activate \
85 && python -m pip install meson \
86 && ${{ matrix.cmd }}