Release ALXR nightly #860
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release ALXR nightly | |
env: | |
CARGO_TERM_COLOR: always | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 22 * * *" | |
jobs: | |
prepare_release: | |
runs-on: windows-2022 | |
outputs: | |
release_ref: ${{ steps.output_ref.outputs.release_ref }} | |
upload_url: ${{ steps.create_alxr_release.outputs.upload_url }} | |
release_id: ${{ steps.create_alxr_release.outputs.id }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Generate tag, set release ref | |
id: output_ref | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
$out = cargo xtask bump-alxr-versions --nightly | |
echo $out | |
echo "::set-output name=version_tag::$(echo $out | sls -CaseSensitive -Pattern '^v.*$')" | |
echo "::set-output name=release_ref::$(git rev-parse HEAD)" | |
- name: Create ALXR Release | |
id: create_alxr_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
# Release tag is taken from the gen_tag job. | |
tag_name: ${{ steps.output_ref.outputs.version_tag }} | |
release_name: ${{ steps.output_ref.outputs.version_tag }} | |
# TODO: gather commit output_ref to post here in the body | |
body: | | |
Nightly release of ALXR: ${{ steps.output_ref.outputs.version_tag }} | |
Generated from commit: korejan/ALVR@${{ steps.output_ref.outputs.release_ref }} | |
**Please note:** | |
**only server builds here are compatible.** | |
**client v0.47 and above must be used with server v18.16 and above** | |
**alxr-client.apk for any android based headset except Pico (install alxr-client-pico.apk instead)** | |
draft: true | |
prerelease: false | |
build_windows_server: | |
runs-on: windows-2022 | |
needs: [prepare_release] | |
env: | |
# For bindgen to find libclang.dll, we need to give it the path to the Visual Studio package. | |
# This is specific to the GitHub windows-2019 runner. | |
LIBCLANG_PATH: 'C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/libclang.dll' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: v18-server-mod | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: rustup update | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- name: Download WiX 3.14 binaries | |
run: | | |
Invoke-WebRequest https://github.com/wixtoolset/wix3/releases/download/wix314rtm/wix314-binaries.zip -OutFile wix314-binaries.zip | |
Expand-Archive -Path wix314-binaries.zip -DestinationPath wix314-binaries/bin | |
- name: Build and package ALVR (.zip, .exe) | |
id: build | |
env: | |
WIX: "wix314-binaries" | |
RUST_BACKTRACE: 1 | |
run: | | |
cargo xtask build-windows-deps | |
cargo xtask publish-server --gpl | |
$file = Get-ChildItem -Name .\build\*.exe | Select-Object -f 1 | |
echo "::set-output name=exe_filename::$file" | |
# Assets upload: .exe, .zip | |
- name: Upload Windows installer | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/${{ steps.build.outputs.exe_filename }} | |
asset_name: ${{ steps.build.outputs.exe_filename }} | |
asset_content_type: application/octet-stream | |
- name: Upload portable server for Windows | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alvr_server_windows.zip | |
asset_name: alvr_server_windows.zip | |
asset_content_type: application/zip | |
# build_linux_server: | |
# runs-on: ubuntu-22.04 | |
# needs: [prepare_release] | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# with: | |
# repository: "korejan/ALVR" | |
# ref: v18-server-mod | |
# - uses: actions-rs/toolchain@v1 | |
# with: | |
# toolchain: stable | |
# override: true | |
# - run: rustup update | |
# - uses: Swatinem/rust-cache@v2 | |
# with: | |
# cache-targets: "false" | |
# - name: Build and install dependencies | |
# env: | |
# RUST_BACKTRACE: 1 | |
# run: | | |
# sudo apt update | |
# # ALVR/FFMPEG specific depends. | |
# sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libx265-dev cmake libasound2-dev libjack-jackd2-dev libgtk-3-dev libunwind-dev libffmpeg-nvenc-dev nvidia-cuda-toolkit | |
# # ALXR specific depends. | |
# sudo apt install git ninja-build libxxf86vm-dev libxcb-glx0-dev libcjson-dev glslang-dev glslang-tools -y | |
# cp packaging/deb/cuda.pc /usr/share/pkgconfig | |
# - name: Build and package ALVR (.tar.gz) | |
# id: build | |
# env: | |
# RUST_BACKTRACE: 1 | |
# run: | | |
# cargo xtask build-server --release --bundle-ffmpeg --gpl | |
# tar -czvf ./build/alvr_server_linux.tar.gz -C ./build/alvr_server_linux . | |
# - name: Upload portable server for Linux | |
# uses: actions/upload-release-asset@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
# asset_path: ./build/alvr_server_linux.tar.gz | |
# asset_name: alvr_server_linux.tar.gz | |
# asset_content_type: application/gzip | |
build_alxr_linux_portable_release: | |
runs-on: ubuntu-20.04 | |
needs: [prepare_release] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Build and install dependencies | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
sudo apt update # && sudo apt upgrade -y | |
# ALVR/FFMPEG specific depends. | |
sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libx265-dev cmake libasound2-dev libjack-jackd2-dev libgtk-3-dev libunwind-dev | |
# ALXR specific depends. | |
sudo apt install git wget gcc-10 g++-10 ninja-build libxxf86vm-dev libxcb-glx0-dev libcjson-dev glslang-dev glslang-tools -y | |
# ubuntu-focal cmake package is too old... | |
CMAKE_FILE=cmake-3.27.7-linux-x86_64.sh | |
wget https://github.com/Kitware/CMake/releases/download/v3.27.7/${CMAKE_FILE} | |
chmod +x ${CMAKE_FILE} | |
./${CMAKE_FILE} --skip-license --include-subdir | |
export PATH=${PWD}/cmake-3.27.7-linux-x86_64:$PATH | |
# ubuntu-focal glslang package is too old... | |
wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip | |
unzip glslang-master-linux-Release.zip -d glslang | |
export PATH=${PWD}/glslang/bin:$PATH | |
export CC=/usr/bin/gcc-10 | |
export CXX=/usr/bin/g++-10 | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
echo "$PATH" >> $GITHUB_PATH | |
- name: Build & Package ALXR-Release (.tar.gz) | |
id: build-release | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
RUST_BACKTRACE: 1 | |
run: | | |
cargo xtask bump-alxr-versions --nightly | |
cargo xtask build-alxr-client --release --bundle-ffmpeg --gpl --no-nvidia --ffmpeg-version=release/4.4 | |
tar -czvf ./build/alxr-client-linux.tar.gz -C ./build/release/alxr_client_linux . | |
- name: Upload portable alxr-release for Linux | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-linux.tar.gz | |
asset_name: alxr-client-linux.tar.gz | |
asset_content_type: application/gzip | |
build_alxr_linux_portable_debug: | |
runs-on: ubuntu-20.04 | |
needs: [prepare_release] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Build and install dependencies | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
sudo apt update # && sudo apt upgrade -y | |
# ALVR/FFMPEG specific depends. | |
sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libx265-dev cmake libasound2-dev libjack-jackd2-dev libgtk-3-dev libunwind-dev | |
# ALXR specific depends. | |
sudo apt install git wget gcc-10 g++-10 ninja-build libxxf86vm-dev libxcb-glx0-dev libcjson-dev glslang-dev glslang-tools -y | |
# ubuntu-focal cmake package is too old... | |
CMAKE_FILE=cmake-3.27.7-linux-x86_64.sh | |
wget https://github.com/Kitware/CMake/releases/download/v3.27.7/${CMAKE_FILE} | |
chmod +x ${CMAKE_FILE} | |
./${CMAKE_FILE} --skip-license --include-subdir | |
export PATH=${PWD}/cmake-3.27.7-linux-x86_64:$PATH | |
# ubuntu-focal glslang package is too old... | |
wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip | |
unzip glslang-master-linux-Release.zip -d glslang | |
export PATH=${PWD}/glslang/bin:$PATH | |
export CC=/usr/bin/gcc-10 | |
export CXX=/usr/bin/g++-10 | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
echo "$PATH" >> $GITHUB_PATH | |
- name: Build & Package ALXR-Debug (.tar.gz) | |
id: build-debug | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
RUST_BACKTRACE: 1 | |
run: | | |
cargo xtask bump-alxr-versions --nightly | |
cargo xtask build-alxr-client --bundle-ffmpeg --gpl --no-nvidia --ffmpeg-version=release/4.4 | |
tar -czvf ./build/alxr-client-linux-debug.tar.gz -C ./build/debug/alxr_client_linux . | |
- name: Upload portable alxr-debug for Linux | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-linux-debug.tar.gz | |
asset_name: alxr-client-linux-debug.tar.gz | |
asset_content_type: application/gzip | |
build_alxr_linux_release: | |
runs-on: ubuntu-22.04 | |
needs: [prepare_release] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Build and install ALXR dependencies | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
sudo apt update && sudo apt upgrade -y | |
# ALVR/FFMPEG specific depends. | |
sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libx265-dev cmake libasound2-dev libjack-jackd2-dev libgtk-3-dev libunwind-dev libffmpeg-nvenc-dev nvidia-cuda-toolkit | |
# ALXR specific depends. | |
sudo apt install git ninja-build libxxf86vm-dev libxcb-glx0-dev libcjson-dev glslang-dev glslang-tools -y | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
- name: Build & Package ALXR-Release ubuntu-22.04 (.tar.gz) | |
id: build-release | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
cargo xtask bump-alxr-versions --nightly | |
# without nvidia/cuda | |
cargo xtask build-alxr-client --release --bundle-ffmpeg --gpl --no-nvidia --ffmpeg-version=release/5.1 | |
tar -czvf ./build/alxr-client-ubuntu-22.04-no-nvidia.tar.gz -C ./build/release/alxr_client_linux . | |
# with nvidia/cuda | |
cargo xtask build-alxr-client --release --bundle-ffmpeg --gpl --ffmpeg-version=release/5.1 | |
tar -czvf ./build/alxr-client-ubuntu-22.04.tar.gz -C ./build/release/alxr_client_linux_cuda . | |
- name: Upload ubuntu-22.04 alxr-release for Linux | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-ubuntu-22.04.tar.gz | |
asset_name: alxr-client-ubuntu-22.04.tar.gz | |
asset_content_type: application/gzip | |
- name: Upload ubuntu-22.04 alxr-release-no-nvidia for Linux | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-ubuntu-22.04-no-nvidia.tar.gz | |
asset_name: alxr-client-ubuntu-22.04-no-nvidia.tar.gz | |
asset_content_type: application/gzip | |
build_alxr_linux_debug: | |
runs-on: ubuntu-22.04 | |
needs: [prepare_release] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Build and install ALXR dependencies | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
sudo apt update && sudo apt upgrade -y | |
# ALVR/FFMPEG specific depends. | |
sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libx265-dev cmake libasound2-dev libjack-jackd2-dev libgtk-3-dev libunwind-dev libffmpeg-nvenc-dev nvidia-cuda-toolkit | |
# ALXR specific depends. | |
sudo apt install git ninja-build libxxf86vm-dev libxcb-glx0-dev libcjson-dev glslang-dev glslang-tools -y | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
- name: Build & Package ALXR-Debug ubuntu-22.04 (.tar.gz) | |
id: build-debug | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
cargo xtask bump-alxr-versions --nightly | |
# without nvidia/cuda | |
cargo xtask build-alxr-client --bundle-ffmpeg --gpl --no-nvidia --ffmpeg-version=release/5.1 | |
tar -czvf ./build/alxr-client-ubuntu-22.04-no-nvidia-debug.tar.gz -C ./build/debug/alxr_client_linux . | |
# with nvidia/cuda | |
cargo xtask build-alxr-client --bundle-ffmpeg --gpl --ffmpeg-version=release/5.1 | |
tar -czvf ./build/alxr-client-ubuntu-22.04-debug.tar.gz -C ./build/debug/alxr_client_linux_cuda . | |
- name: Upload ubuntu-22.04 alxr-debug for Linux | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-ubuntu-22.04-debug.tar.gz | |
asset_name: alxr-client-ubuntu-22.04-debug.tar.gz | |
asset_content_type: application/gzip | |
- name: Upload ubuntu-22.04 alxr-debug-no-nvidia for Linux | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-ubuntu-22.04-no-nvidia-debug.tar.gz | |
asset_name: alxr-client-ubuntu-22.04-no-nvidia-debug.tar.gz | |
asset_content_type: application/gzip | |
build_alxr_android_release: | |
runs-on: ubuntu-22.04 | |
needs: [prepare_release] | |
env: | |
RUST_BACKTRACE: 1 | |
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/27.1.12297006 | |
ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/27.1.12297006 | |
ANDROID_CMAKE_BIN: /usr/local/lib/android/sdk/cmake/3.30.3/bin | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: rustup update | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- name: Build / Install ALXR Android dependencies | |
run: | | |
sudo apt update && sudo apt upgrade -y | |
sudo apt install gcc-multilib | |
SDK_MANAGER=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager | |
yes | sudo $SDK_MANAGER --install "ndk;27.1.12297006" "platforms;android-29" "cmake;3.30.3" | |
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android | |
cargo install cargo-apk --git https://github.com/korejan/cargo-apk.git --branch android-manifest-entries | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
cargo xtask bump-alxr-versions --nightly | |
- name: Build & Package alxr-android-generic-release | |
run: | | |
unset ANDROID_HOME | |
JAVA_HOME=$JAVA_HOME_17_X64 | |
export PATH=$ANDROID_CMAKE_BIN:$PATH | |
cargo xtask build-alxr-android --generic --release | |
cargo clean | |
- name: Build & Package alxr-android-pico-release | |
run: | | |
unset ANDROID_HOME | |
JAVA_HOME=$JAVA_HOME_17_X64 | |
export PATH=$ANDROID_CMAKE_BIN:$PATH | |
cargo xtask build-alxr-pico --release | |
cargo clean | |
- name: Upload alxr-android-generic-release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/release/alxr_client_android/alxr-client.apk | |
asset_name: alxr-client.apk | |
asset_content_type: application/vnd.android.package-archive | |
- name: Upload alxr-android-pico-release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/release/alxr_client_android/alxr-client-pico.apk | |
asset_name: alxr-client-pico.apk | |
asset_content_type: application/vnd.android.package-archive | |
build_alxr_android_debug: | |
runs-on: ubuntu-22.04 | |
needs: [prepare_release] | |
env: | |
RUST_BACKTRACE: 1 | |
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/27.1.12297006 | |
ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/27.1.12297006 | |
ANDROID_CMAKE_BIN: /usr/local/lib/android/sdk/cmake/3.30.3/bin | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: rustup update | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- name: Build / Install ALXR Android dependencies | |
run: | | |
sudo apt update && sudo apt upgrade -y | |
sudo apt install gcc-multilib | |
SDK_MANAGER=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager | |
yes | sudo $SDK_MANAGER --install "ndk;27.1.12297006" "platforms;android-29" "cmake;3.30.3" | |
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android | |
cargo install cargo-apk --git https://github.com/korejan/cargo-apk.git --branch android-manifest-entries | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
cargo xtask bump-alxr-versions --nightly | |
- name: Build & Package alxr-android-generic-debug | |
run: | | |
unset ANDROID_HOME | |
JAVA_HOME=$JAVA_HOME_17_X64 | |
export PATH=$ANDROID_CMAKE_BIN:$PATH | |
cargo xtask build-alxr-android --generic | |
pushd ./build/debug/alxr_client_android | |
mv alxr-client.apk alxr-client-debug.apk | |
popd | |
cargo clean | |
- name: Build & Package alxr-android-pico-debug | |
run: | | |
unset ANDROID_HOME | |
JAVA_HOME=$JAVA_HOME_17_X64 | |
export PATH=$ANDROID_CMAKE_BIN:$PATH | |
cargo xtask build-alxr-pico | |
pushd ./build/debug/alxr_client_android | |
mv alxr-client-pico.apk alxr-client-pico-debug.apk | |
popd | |
cargo clean | |
- name: Upload alxr-android-generic-debug | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/debug/alxr_client_android/alxr-client-debug.apk | |
asset_name: alxr-client-debug.apk | |
asset_content_type: application/vnd.android.package-archive | |
- name: Upload alxr-android-pico-debug | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/debug/alxr_client_android/alxr-client-pico-debug.apk | |
asset_name: alxr-client-pico-debug.apk | |
asset_content_type: application/vnd.android.package-archive | |
build_libalxr_win_x64_release: | |
runs-on: windows-2022 | |
needs: [prepare_release] | |
env: | |
RUST_BACKTRACE: 1 | |
NINJA_HOME: 'C:/Program Files/Microsoft Visual Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
# - uses: actions-rs/toolchain@v1 | |
# with: | |
# toolchain: stable | |
# override: true | |
# - run: rustup update | |
# - uses: Swatinem/rust-cache@v2 | |
# with: | |
# cache-targets: "false" | |
- uses: humbletim/[email protected] | |
with: | |
vulkan-query-version: latest | |
vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang | |
vulkan-use-cache: true | |
# - uses: Jimver/[email protected] | |
# id: cuda-toolkit | |
# with: | |
# method: 'network' | |
# cuda: '12.1.0' | |
- name: Build and install LibALXR dependencies | |
run: | | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
- name: Build & Package LibALXR-Release win-x64 (.zip) | |
id: build-release | |
run: | | |
"C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" | |
$env:Path="$env:NINJA_HOME;$env:Path" | |
cd alvr/openxr-client/alxr-engine-sys | |
Invoke-Expression -Command "./build_libalxr.bat" | |
cd ../../../build/libalxr/bin | |
7z a -tzip ../../libalxr-win-x64.zip . | |
cd ../../../ | |
- name: Upload libalxr-release win-x64 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/libalxr-win-x64.zip | |
asset_name: libalxr-win-x64.zip | |
asset_content_type: application/zip | |
build_alxr_win_x64_release: | |
runs-on: windows-2022 | |
needs: [prepare_release] | |
env: | |
RUST_BACKTRACE: 1 | |
NINJA_HOME: 'C:/Program Files/Microsoft Visual Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: rustup update | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- uses: humbletim/[email protected] | |
with: | |
vulkan-query-version: latest | |
vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang | |
vulkan-use-cache: true | |
- uses: Jimver/[email protected] | |
id: cuda-toolkit | |
with: | |
method: 'network' | |
cuda: '12.2.0' | |
# sub-packages: '["nvcc", "visual_studio_integration"]' | |
- name: Build and install ALXR dependencies | |
run: | | |
"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
- name: Build & Package ALXR-Release win-x64 (.zip) | |
id: build-release | |
run: | | |
$env:Path="$env:NINJA_HOME;$env:Path" | |
cargo xtask bump-alxr-versions --nightly | |
# without nvidia/cuda | |
cargo xtask build-alxr-client --release --no-nvidia | |
7z a -tzip .\build\alxr-client-win-x64-no-nvidia.zip .\build\release\alxr_client_windows | |
# with nvidia/cuda | |
cargo xtask build-alxr-client --release | |
7z a -tzip .\build\alxr-client-win-x64.zip .\build\release\alxr_client_windows_cuda | |
- name: Upload alxr-release win-x64 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-win-x64.zip | |
asset_name: alxr-client-win-x64.zip | |
asset_content_type: application/zip | |
- name: Upload alxr-release-no-nvidia win-x64 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-win-x64-no-nvidia.zip | |
asset_name: alxr-client-win-x64-no-nvidia.zip | |
asset_content_type: application/zip | |
build_alxr_win_x64_debug: | |
runs-on: windows-2022 | |
needs: [prepare_release] | |
env: | |
RUST_BACKTRACE: 1 | |
NINJA_HOME: 'C:/Program Files/Microsoft Visual Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: rustup update | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- uses: humbletim/[email protected] | |
with: | |
vulkan-query-version: latest | |
vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang | |
vulkan-use-cache: true | |
- uses: Jimver/[email protected] | |
id: cuda-toolkit | |
with: | |
method: 'network' | |
cuda: '12.2.0' | |
# sub-packages: '["nvcc", "visual_studio_integration"]' | |
- name: Build and install ALXR dependencies | |
run: | | |
"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
- name: Build & Package ALXR-Debug win-x64 (.zip) | |
id: build-debug | |
env: | |
RUST_BACKTRACE: 1 | |
run: | | |
$env:Path="$env:NINJA_HOME;$env:Path" | |
cargo xtask bump-alxr-versions --nightly | |
# without nvidia/cuda | |
cargo xtask build-alxr-client --no-nvidia | |
7z a -tzip .\build\alxr-client-win-x64-no-nvidia-debug.zip .\build\debug\alxr_client_windows | |
# with nvidia/cuda | |
cargo xtask build-alxr-client | |
7z a -tzip .\build\alxr-client-win-x64-debug.zip .\build\debug\alxr_client_windows_cuda | |
- name: Upload alxr-debug win-x64 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-win-x64-debug.zip | |
asset_name: alxr-client-win-x64-debug.zip | |
asset_content_type: application/zip | |
- name: Upload alxr-debug-no-nvidia win-x64 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ./build/alxr-client-win-x64-no-nvidia-debug.zip | |
asset_name: alxr-client-win-x64-no-nvidia-debug.zip | |
asset_content_type: application/zip | |
build_uwp_app_bundle_debug: | |
runs-on: windows-2022 | |
needs: [prepare_release] | |
env: | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: rustup update | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- name: Install ALXR Tools/Dependencies | |
run: | | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
Start-Process -FilePath .\alvr\openxr-client\alxr-client\uwp\install_uwp_toolchain.bat -Wait -NoNewWindow | |
rustup toolchain install nightly-2024-07-19 | |
rustup component add rust-src --toolchain nightly-2024-07-19-x86_64-pc-windows-msvc | |
rustup update | |
cargo xtask bump-alxr-versions --nightly | |
- name: Build & Package UWP Arm64 Debug (.msix) | |
run: cargo xtask build-alxr-uwp-arm64 | |
- name: Build & Package UWP x64 Debug (.msix) | |
run: cargo xtask build-alxr-uwp-x64 | |
- name: Build Debug UWP App-bundle (.msixbundle) | |
id: app_bundle_debug | |
run: | | |
cargo xtask build-alxr-app-bundle | |
$ALXR_MSIX_BUNDLE_PATH=(cmd /C dir /S /B .\build\debug\alxr_client_uwp\alxr-client-uwp_*.msixbundle) | |
$ALXR_MSIX_BUNDLE_FILE=(cmd /C dir /B .\build\debug\alxr_client_uwp\alxr-client-uwp_*.msixbundle) | |
echo "::set-output name=alxr_msixbundle_path::$ALXR_MSIX_BUNDLE_PATH" | |
echo "::set-output name=alxr_msixbundle_file::$ALXR_MSIX_BUNDLE_FILE" | |
- name: Upload Debug UWP App-bundle (.msixbundle) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ${{ steps.app_bundle_debug.outputs.alxr_msixbundle_path }} | |
asset_name: ${{ steps.app_bundle_debug.outputs.alxr_msixbundle_file }} | |
asset_content_type: application/zip | |
build_uwp_app_bundle_release: | |
runs-on: windows-2022 | |
needs: [prepare_release] | |
outputs: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
release_ref: ${{ needs.prepare_release.outputs.release_ref }} | |
env: | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.prepare_release.outputs.release_ref }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: rustup update | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-targets: "false" | |
- name: Install ALXR Tools/Dependencies | |
run: | | |
# Fetch alxr-engine submodule. | |
git submodule update --init --recursive | |
Start-Process -FilePath .\alvr\openxr-client\alxr-client\uwp\install_uwp_toolchain.bat -Wait -NoNewWindow | |
rustup toolchain install nightly-2024-07-19 | |
rustup component add rust-src --toolchain nightly-2024-07-19-x86_64-pc-windows-msvc | |
rustup update | |
cargo xtask bump-alxr-versions --nightly | |
- name: Build & Package UWP Arm64 Release (.msix) | |
run: cargo xtask build-alxr-uwp-arm64 --release | |
- name: Build & Package UWP x64 Release (.msix) | |
run: cargo xtask build-alxr-uwp-x64 --release | |
- name: Build Release UWP App-bundle (.msixbundle) | |
id: app_bundle_release | |
run: | | |
cargo xtask build-alxr-app-bundle --release | |
$ALXR_MSIX_BUNDLE_PATH=(cmd /C dir /S /B .\build\release\alxr_client_uwp\alxr-client-uwp_*.msixbundle) | |
$ALXR_MSIX_BUNDLE_FILE=(cmd /C dir /B .\build\release\alxr_client_uwp\alxr-client-uwp_*.msixbundle) | |
echo "::set-output name=alxr_msixbundle_path::$ALXR_MSIX_BUNDLE_PATH" | |
echo "::set-output name=alxr_msixbundle_file::$ALXR_MSIX_BUNDLE_FILE" | |
- name: Upload Release UWP App-bundle (.msixbundle) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.prepare_release.outputs.upload_url }} | |
asset_path: ${{ steps.app_bundle_release.outputs.alxr_msixbundle_path }} | |
asset_name: ${{ steps.app_bundle_release.outputs.alxr_msixbundle_file }} | |
asset_content_type: application/zip | |
upload_uwp_cert: | |
runs-on: ubuntu-22.04 | |
needs: [build_uwp_app_bundle_debug, build_uwp_app_bundle_release] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
repository: "korejan/ALVR" | |
ref: ${{ needs.build_uwp_app_bundle_release.outputs.release_ref }} | |
- name: Upload UWP Cert | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.build_uwp_app_bundle_release.outputs.upload_url }} | |
asset_path: ./alvr/openxr-client/alxr-client/uwp/alxr_client_TemporaryKey.pfx | |
asset_name: alxr_client_TemporaryKey.pfx | |
asset_content_type: application/octet-stream | |
publish_release: | |
runs-on: ubuntu-22.04 | |
needs: | |
[ | |
prepare_release, | |
build_windows_server, | |
#build_linux_server, | |
build_alxr_linux_portable_release, | |
build_alxr_linux_portable_debug, | |
build_alxr_linux_release, | |
build_alxr_linux_debug, | |
build_alxr_android_release, | |
build_alxr_android_debug, | |
build_alxr_win_x64_release, | |
build_alxr_win_x64_debug, | |
build_libalxr_win_x64_release, | |
upload_uwp_cert | |
] | |
steps: | |
- uses: eregon/publish-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
release_id: ${{ needs.prepare_release.outputs.release_id }} |