Skip to content

refactor(portal-rest): REST + polling + webhooks API #866

refactor(portal-rest): REST + polling + webhooks API

refactor(portal-rest): REST + polling + webhooks API #866

name: Build Library
on:
push:
branches: [ '*' ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build-android-libs:
runs-on: [ self-hosted, nixos ]
strategy:
matrix:
lib: [ android-lib-aarch64, android-lib-x86_64 ]
steps:
- uses: actions/checkout@v4
- name: Build ${{ matrix.lib }}
run: nix build .#${{ matrix.lib }} --print-build-logs
working-directory: react-native
- name: Upload to binary cache
run: nix copy --to ssh://cache-upload@binarycache.getportal.cc $(readlink -f ./result)
working-directory: react-native
build-ios-libs:
runs-on: [ self-hosted, macOS ]
strategy:
matrix:
lib: [ ios-lib-aarch64, ios-lib-aarch64-sim ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build ${{ matrix.lib }}
run: nix build .#${{ matrix.lib }} --print-build-logs
working-directory: react-native
- name: Upload to binary cache
run: nix copy --to ssh://cache-upload@binarycache.getportal.cc $(readlink -f ./result)
working-directory: react-native
merge-with-nix:
runs-on: [ self-hosted, nixos ]
needs: [ build-android-libs, build-ios-libs ]
steps:
- uses: actions/checkout@v4
- name: Build react-native-lib
run: nix build .#react-native-lib --print-build-logs
working-directory: react-native
- name: Upload to binary cache
run: nix copy --to ssh://cache-upload@binarycache.getportal.cc $(readlink -f ./result)
working-directory: react-native
- name: Find package file
id: find-package
run: |
PACKAGE_FILE=$(ls react-native/result/*.tgz | head -1)
echo "package-file=$PACKAGE_FILE" >> $GITHUB_OUTPUT
echo "Found package: $PACKAGE_FILE"
- name: Upload package artifact
uses: actions/upload-artifact@v4
with:
name: library-package
path: ${{ steps.find-package.outputs.package-file }}
retention-days: 30