Live video on the AT Protocol
at eli/github-skip-darwin 123 lines 3.5 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: make node 41 run: | 42 sudo apt install podman -y 43 make in-container BUILDER_TARGET=builder-no-darwin DOCKER_OPTS="-e STREAMPLACE_IGNORE_LEAKS=true -e STREAMPLACE_TEST_COUNT=1 -e CI=true" IN_CONTAINER_CMD="${{ matrix.cmd }}" 44 45 - name: Upload bin artifacts 46 if: matrix.name == 'windows-amd64' 47 uses: actions/upload-artifact@v4 48 with: 49 name: windows-bin 50 path: ./bin/ 51 retention-days: 1 52 53 windows-selftest: 54 name: windows-selftest 55 runs-on: windows-latest 56 needs: linux 57 steps: 58 - name: Download bin artifacts 59 uses: actions/download-artifact@v4 60 with: 61 name: windows-bin 62 path: ./bin/ 63 64 - name: Run Windows executable 65 shell: bash 66 run: | 67 set -euo pipefail 68 set -x AQD_NO_UPDATE=true 69 echo "running $PWD/bin/*.exe" 70 ./bin/*.exe 71 powershell -Command "Stop-Process -Name Streamplace" 72 cd "$LOCALAPPDATA/streamplace_desktop" 73 cd app-* 74 ./Streamplace.exe -- --self-test 75 76 darwin: 77 name: ${{ matrix.name }} 78 runs-on: ${{ matrix.runs-on }} 79 strategy: 80 matrix: 81 include: 82 - name: darwin-arm64 83 runs-on: macos-15 84 cmd: make && make test && make check 85 xcode-version: "16.1.0" 86 - name: ios 87 runs-on: macos-15 88 cmd: make ios 89 xcode-version: "16.1.0" 90 - name: darwin-amd64 91 runs-on: macos-13 92 cmd: make 93 xcode-version: "15.2.0" 94 steps: 95 - name: Check out code 96 uses: actions/checkout@v4.1.7 97 with: 98 fetch-depth: 0 99 ref: ${{ github.event.pull_request.head.sha }} 100 101 - uses: actions/setup-node@v4 102 with: 103 node-version: 22 104 105 - uses: maxim-lobanov/setup-xcode@v1 106 with: 107 xcode-version: ${{ matrix.xcode-version }} 108 109 - name: Build Streamplace 110 env: 111 STREAMPLACE_TEST_COUNT: "1" 112 STREAMPLACE_IGNORE_LEAKS: "true" 113 NODE_OPTIONS: "--max_old_space_size=4096" 114 run: | 115 npm install -g corepack@latest \ 116 && corepack enable \ 117 && export GOTOOLCHAIN=go1.24.2 \ 118 && brew install go \ 119 && python -m pip install virtualenv \ 120 && python -m virtualenv ~/venv \ 121 && source ~/venv/bin/activate \ 122 && python -m pip install meson \ 123 && ${{ matrix.cmd }}