Live video on the AT Protocol
at natb/reporting-interface 130 lines 3.9 kB view raw
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 && make desktop-windows-amd64" 27 - name: android 28 cmd: "make app && make android-release" 29 steps: 30 - name: Maximize build space 31 run: | 32 sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL 33 34 - name: Check out code 35 uses: actions/checkout@v4.1.7 36 with: 37 fetch-depth: 0 38 ref: ${{ github.event.pull_request.head.sha }} 39 40 - name: Log in to the Container registry 41 uses: docker/login-action@v2 42 with: 43 registry: ghcr.io 44 username: ${{ github.actor }} 45 password: ${{ github.token }} 46 47 - name: make node 48 run: | 49 sudo apt install podman -y 50 make in-container BUILDER_TARGET=builder-no-darwin DOCKER_BUILD_OPTS="--layers --cache-to ghcr.io/streamplace/streamplace --cache-from ghcr.io/streamplace/streamplace" DOCKER_OPTS="-e STREAMPLACE_IGNORE_LEAKS=true -e STREAMPLACE_TEST_COUNT=1 -e CI=true" IN_CONTAINER_CMD="${{ matrix.cmd }}" 51 52 - name: Upload bin artifacts 53 if: matrix.name == 'windows-amd64' 54 uses: actions/upload-artifact@v4 55 with: 56 name: windows-bin-${{ github.event.pull_request.head.sha }} 57 path: ./bin/ 58 retention-days: 1 59 60 windows-selftest: 61 name: windows-selftest 62 runs-on: windows-latest 63 needs: linux 64 steps: 65 - name: Download bin artifacts 66 uses: actions/download-artifact@v4 67 with: 68 name: windows-bin-${{ github.event.pull_request.head.sha }} 69 path: ./bin/ 70 71 - name: Run Windows executable 72 shell: bash 73 run: | 74 set -euo pipefail 75 set -x AQD_NO_UPDATE=true 76 echo "running $PWD/bin/*.exe" 77 ./bin/*.exe 78 powershell -Command "Stop-Process -Name Streamplace" 79 cd "$LOCALAPPDATA/streamplace_desktop" 80 cd app-* 81 ./Streamplace.exe -- --self-test 82 83 darwin: 84 name: ${{ matrix.name }} 85 runs-on: ${{ matrix.runs-on }} 86 strategy: 87 matrix: 88 include: 89 - name: darwin-arm64 90 runs-on: macos-15 91 cmd: make && make test && make check 92 xcode-version: "16.1.0" 93 - name: ios 94 runs-on: macos-15 95 cmd: make ios 96 xcode-version: "16.1.0" 97 - name: darwin-amd64 98 runs-on: macos-13 99 cmd: make 100 xcode-version: "15.2.0" 101 steps: 102 - name: Check out code 103 uses: actions/checkout@v4.1.7 104 with: 105 fetch-depth: 0 106 ref: ${{ github.event.pull_request.head.sha }} 107 108 - uses: actions/setup-node@v4 109 with: 110 node-version: 22 111 112 - uses: maxim-lobanov/setup-xcode@v1 113 with: 114 xcode-version: ${{ matrix.xcode-version }} 115 116 - name: Build Streamplace 117 env: 118 STREAMPLACE_TEST_COUNT: "1" 119 STREAMPLACE_IGNORE_LEAKS: "true" 120 NODE_OPTIONS: "--max_old_space_size=4096" 121 run: | 122 npm install -g corepack@latest \ 123 && corepack enable \ 124 && export GOTOOLCHAIN=go1.24.2 \ 125 && brew install go \ 126 && python -m pip install virtualenv \ 127 && python -m virtualenv ~/venv \ 128 && source ~/venv/bin/activate \ 129 && python -m pip install meson \ 130 && ${{ matrix.cmd }}