Live video on the AT Protocol
at eli/revert-dev-env 131 lines 4.0 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 # set -x STREAMPLACE_TEST_SERIES=true 77 # echo "running $PWD/bin/*.exe" 78 # ./bin/*.exe 79 # powershell -Command "Stop-Process -Name Streamplace" 80 # cd "$LOCALAPPDATA/streamplace_desktop" 81 # cd app-* 82 # ./Streamplace.exe -- --self-test 83 84 darwin: 85 name: ${{ matrix.name }} 86 runs-on: ${{ matrix.runs-on }} 87 strategy: 88 matrix: 89 include: 90 - name: darwin-arm64 91 runs-on: macos-15 92 cmd: make && make test && make check 93 xcode-version: "16.4" 94 - name: ios 95 runs-on: macos-15 96 cmd: make ios 97 xcode-version: "16.4" 98 - name: darwin-amd64 99 runs-on: macos-13 100 cmd: make 101 xcode-version: "15.2.0" 102 steps: 103 - name: Check out code 104 uses: actions/checkout@v4.1.7 105 with: 106 fetch-depth: 0 107 ref: ${{ github.event.pull_request.head.sha }} 108 109 - uses: actions/setup-node@v4 110 with: 111 node-version: 22 112 113 - uses: maxim-lobanov/setup-xcode@v1 114 with: 115 xcode-version: ${{ matrix.xcode-version }} 116 117 - name: Build Streamplace 118 env: 119 STREAMPLACE_TEST_COUNT: "1" 120 STREAMPLACE_IGNORE_LEAKS: "true" 121 NODE_OPTIONS: "--max_old_space_size=4096" 122 run: | 123 npm install -g corepack@latest \ 124 && corepack enable \ 125 && export GOTOOLCHAIN=go1.24.2 \ 126 && brew install go \ 127 && python -m pip install virtualenv \ 128 && python -m virtualenv ~/venv \ 129 && source ~/venv/bin/activate \ 130 && python -m pip install meson \ 131 && ${{ matrix.cmd }}