Skip to content

wip: initial support for resident listeners #3

wip: initial support for resident listeners

wip: initial support for resident listeners #3

Workflow file for this run

name: build
on:
push:
branches:
- master
jobs:
linux:
name: linux / ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
# - aarch64-unknown-linux-gnu
# - aarch64-unknown-linux-musl
# - i686-unknown-linux-gnu
- x86_64-unknown-linux-gnu
# - x86_64-unknown-linux-musl
steps:
- run: sudo apt-get update && sudo apt-get install -y libwayland-dev libasound2-dev libudev-dev libfuse3-dev
- uses: actions/checkout@v4
with:
fetch-tags: true
- uses: dtolnay/rust-toolchain@nightly
with:
targets: ${{ matrix.target }}
- uses: actions-rs/cargo@v1
with:
command: test
args: --target ${{ matrix.target }} --all-features
- uses: actions-rs/cargo@v1
with:
command: build
args: --bin sandpolis --target ${{ matrix.target }} --all-features --release
- uses: actions/upload-artifact@v4
with:
name: linux_artifacts
path: target/${{ matrix.target }}/debug/sandpolis
android:
name: android / ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- aarch64-linux-android
# - armv7-linux-androideabi
steps:
- run: sudo apt-get install -y libasound2-dev libudev-dev libfuse3-dev llvm
- uses: actions/checkout@v4
with:
fetch-tags: true
- uses: dtolnay/rust-toolchain@nightly
with:
targets: ${{ matrix.target }}
- uses: actions-rs/cargo@v1
with:
command: install
args: cargo-ndk
- name: Build native library
uses: ClementTsang/cargo-action@v0.0.6
with:
command: ndk
args: -t arm64-v8a -o android/app/src/main/jniLibs build
directory: sandpolis-mobile
- name: Build apk
working-directory: sandpolis-mobile/android
run: |
./gradlew build
- uses: actions/upload-artifact@v4
with:
name: android_artifacts
path: sandpolis-mobile/android/app/build/outputs/apk/debug/*.apk
docker:
name: docker / sandpolis-${{ matrix.instance }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
instance:
- server
- agent
- client
steps:
- uses: actions/checkout@v4
with:
fetch-tags: true
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Find version tags
id: get_tags
run: |
for tag in $(git tag --points-at HEAD); do
echo "${tag%-*}=${tag##*-}" >>"$GITHUB_OUTPUT"
done
- uses: docker/build-push-action@v5
with:
file: sandpolis/${{ matrix.instance }}.Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: sandpolis/${{ matrix.instance }}:nightly
# - uses: peter-evans/dockerhub-description@v4
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
# repository: sandpolis/${{ matrix.instance }}