From 524fdde8f2c280cdf7677253ac545d615e698941 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Sun, 4 Jul 2021 14:36:02 +0200 Subject: Setup CI for Android, iOS, Linux, macOS, Windows. Includes all supported architectures: * Android: - arm (neon) - arm64 - x86 - x64 * iOS: - arm - arm64 - x64 (simulator) * Linux - x86 - x64 * macOS - x64 * windows - x86 - x64 Use a single matrix for builds, then an extra step will package for release. Artefacts are generated for each platform/arch combination, along for the 2 zip containing the full `webrtc` and `webrtc_debug` plugin. --- .github/actions/webrtc-download/action.yml | 54 ++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/actions/webrtc-download/action.yml (limited to '.github/actions') diff --git a/.github/actions/webrtc-download/action.yml b/.github/actions/webrtc-download/action.yml new file mode 100644 index 0000000..0aa52c3 --- /dev/null +++ b/.github/actions/webrtc-download/action.yml @@ -0,0 +1,54 @@ +name: 'Get WebRTC Library' +description: 'Get pre-build statically linked WebRTC library from Faless/webrtc-builds' +inputs: + repo: + description: 'Base repository' + required: true + default: "Faless/webrtc-builds" + release: + description: 'Release tag' + required: true + default: '4472-33644-92ba70c' + webrtc-base-name: + description: 'The WebRTC version' + required: true + default: "webrtc-33644-92ba70c" + out-dir: + description: 'Directory where to extract the library' + required: true + default: "webrtc" + platform: + description: 'Platform to download' + required: true + archs: + description: 'Space separated list of architecture to fetch' + required: true +runs: + using: "composite" + steps: + - shell: bash + env: + RTC_BASE_URL: https://github.com/${{ inputs.repo }}/releases/download/${{ inputs.release }}/${{ inputs.webrtc-base-name }} + run: | + cd ${{ inputs.out-dir }} + format=tar.gz + extract="tar -xzf" + libplat=${{ inputs.platform }} + if [ "${{ inputs.platform }}" = "windows" ]; then + libplat=win + format=7z + extract="7z x -y" + elif [ "${{ inputs.platform }}" = "osx" ]; then + libplat=mac + fi + + for arch in ${{ inputs.archs }} + do + echo "Downloading ${{ env.RTC_BASE_URL }}-${{ inputs.platform }}-${arch}.tar.gz" + curl -L ${{ env.RTC_BASE_URL }}-${libplat}-${arch}.${format} -o ${arch}.${format} + ${extract} ${arch}.${format} + done + + mv lib ${{ inputs.platform }} + ls -l + ls -l * -- cgit v1.2.3