Skip to content

Merge various work from Orchid Labs master branch. #2549

Merge various work from Orchid Labs master branch.

Merge various work from Orchid Labs master branch. #2549

Workflow file for this run

name: CI
on: [push]
jobs:
cache-submodule:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
build-flt-orc:
needs: [cache-submodule]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
- run: ./app-flutter.sh orchid && cd app-flutter && make
build-ios-app:
needs: [cache-submodule]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: debug=ldid make -j3 -C app-ios precache='--no-android'
build-and-app:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- run: sudo rm -rf /opt
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: env/setup-ndk.sh
- run: make -j3 -C app-android precache='--no-ios'
- uses: actions/upload-artifact@v4
with:
name: orchid-apk
path: app-android/out-and/Orchid.apk
build-and-dkr:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- run: sudo rm -rf /opt
- uses: actions/checkout@v4
- run: env/setup-git.sh
- uses: ./.github/actions/submodule
- run: cd app-android && env/docker.sh -j3
build-mac-app:
needs: [cache-submodule]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: debug=ldid make -j3 -C app-macos precache='--no-android --no-ios --macos'
build-mac-snd:
needs: [cache-submodule]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: make -j3 -C eth-sender
- uses: actions/upload-artifact@v4
with:
name: cj-mac
path: eth-sender/out-mac/x86_64/cj
build-mac-cli:
needs: [cache-submodule]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: make -j3 -C cli-shared
- uses: actions/upload-artifact@v4
with:
name: orchidcd-mac
path: cli-shared/out-mac/x86_64/orchidcd
build-mac-srv:
needs: [cache-submodule]
runs-on: macos-latest
if: ${{ false }} # XXX: Hypervisor.framework
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- uses: ./.github/actions/nerdctl
- run: make -j3 -C srv-daemon
- uses: actions/upload-artifact@v4
with:
name: orchidd-mac
path: srv-daemon/out-mac/x86_64/orchidd
- run: git status
build-win-app:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: DEBIAN_FRONTEND=noninteractive sudo -EH apt-get -y install mingw-w64
- run: debug=crossndk make -j3 -C app-windows ./env/dotdot/gui-orchid/.flutter-plugins
- run: debug=crossndk make -j3 -C app-windows target=win precache='--no-android --no-ios --windows -a'
- uses: actions/upload-artifact@v4
with:
name: orchid-win
path: app-windows/out-win/package
build-win-snd:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: DEBIAN_FRONTEND=noninteractive sudo -EH apt-get -y install mingw-w64
- run: make -j3 -C eth-sender target=win
- uses: actions/upload-artifact@v4
with:
name: cj-win
path: eth-sender/out-win/x86_64/cj.exe
build-win-cli:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: DEBIAN_FRONTEND=noninteractive sudo -EH apt-get -y install mingw-w64
- run: make -j3 -C cli-shared target=win
- uses: actions/upload-artifact@v4
with:
name: orchidcd-win
path: cli-shared/out-win/x86_64/orchidcd.exe
build-win-srv:
needs: [cache-submodule]
runs-on: macos-latest
if: ${{ false }} # XXX: use Hyper-V
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- uses: ./.github/actions/nerdctl
- run: brew install mingw-w64 coreutils
- run: make -j3 -C srv-daemon target=win
- uses: actions/upload-artifact@v4
with:
name: orchidd-w64
path: srv-daemon/out-win/x86_64/orchidd.exe
- run: git status
build-lnx-app:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: debug=crossndk make -j3 -C app-linux ./env/dotdot/gui-orchid/.flutter-plugins
- run: debug=crossndk make -j3 -C app-linux precache='--no-android --no-ios --linux'
- uses: actions/upload-artifact@v4
with:
name: orchid-lnx
path: app-linux/out-lnx/package
build-lnx-tst:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: debug=crossndk make -j3 -C tst-network
build-lnx-cli:
needs: [cache-submodule]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
machine: [x86_64, arm64, armhf]
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: debug=crossndk make -j3 -C cli-shared machine=${{ matrix.machine }}
- uses: actions/upload-artifact@v4
with:
name: orchidcd-lnx-${{ matrix.machine }}
path: cli-shared/out-lnx/${{ matrix.machine }}/orchidcd
build-lnx-srv:
needs: [cache-submodule]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# XXX: armhf is missing rcrt1.o
machine: [x86_64, arm64]
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: env/setup-ndk.sh
- run: debug=crossndk make -j3 -C srv-daemon machine=${{ matrix.machine }}
- uses: actions/upload-artifact@v4
with:
name: orchidd-lnx-${{ matrix.machine }}
path: srv-daemon/out-lnx/${{ matrix.machine }}/orchidd
if: ${{ matrix.machine != 'x86_64' }}
- run: git status
build-lnx-dkr:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- run: sudo rm -rf /opt
- uses: actions/checkout@v4
- run: env/setup-git.sh
- uses: ./.github/actions/submodule
- run: cd srv-daemon && env/docker.sh -j3
build-lnx-bld:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- run: sudo rm -rf /opt
- uses: actions/checkout@v4
- run: docker build --build-arg GIT_REPOSITORY=https://github.com/${{ github.repository }}.git --build-arg GIT_COMMIT=${{ github.sha }} --build-arg GIT_SETUP=env/setup-git.sh -t orchidd:latest srv-docker
- run: docker save -o orchidd.tar orchidd:latest
- uses: actions/upload-artifact@v4
with:
name: orchidd-dkr
path: orchidd.tar
build-lnx-mac:
needs: [cache-submodule]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- uses: ./.github/actions/nerdctl
- run: env/setup-ndk.sh
- run: make -j3 -C srv-daemon target=lnx
- uses: actions/upload-artifact@v4
with:
name: orchidd-lnx-amd64
path: srv-daemon/out-lnx/x86_64/orchidd
build-lnx-bad:
needs: [cache-submodule]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: env/setup.sh
- uses: ./.github/actions/submodule
- run: make -j3 -C srv-daemon
build-lnx-all:
needs: [build-lnx-mac, build-lnx-bld]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: orchidd-dkr
- run: tar -xvf orchidd.tar
- run: tar -xvf "$(jq -r '.[0].Layers | .[]' manifest.json | tail -n1)"
- uses: actions/download-artifact@v4
with:
name: orchidd-lnx-amd64
- run: chmod +x orchidd
- run: diff -u <(./usr/sbin/orchidd --version) <(./orchidd --version)
- run: diff -u <(xxd usr/sbin/orchidd) <(xxd orchidd)