Build-SDK #14
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: Build-SDK | |
on: [workflow_dispatch, pull_request] | |
jobs: | |
build-linux-arm: | |
name: Build SDK for Linux arm64 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup Repositories | |
run: sudo mv crosscomp-sources.lst /etc/apt/sources.list; | |
- name: Check apt sources | |
run: cat /etc/apt/sources.list | |
- name: Add arm64 as architecture | |
run: sudo dpkg --add-architecture arm64 | |
- name: Update APT | |
run: sudo apt update | |
- name: Install Host Dependencies | |
run: sudo apt install cmake:amd64 ninja-build:amd64 gcc-12-aarch64-linux-gnu:amd64 g++-12-aarch64-linux-gnu:amd64 bison:amd64 python3-distutils:amd64 ocaml-core:amd64 xz-utils:amd64 pkg-config:amd64 | |
- name: Install Target Dependencies | |
run: | | |
sudo apt install libglm-dev:arm64 libxcb-dri3-0:arm64 libxcb-present0:arm64 libpciaccess0:arm64 \ | |
libpng-dev:arm64 libxcb-keysyms1-dev:arm64 libxcb-dri3-dev:arm64 libx11-dev:arm64 \ | |
libwayland-dev:arm64 libxrandr-dev:arm64 libxcb-randr0-dev:arm64 libxcb-ewmh-dev:arm64 \ | |
libx11-xcb-dev:arm64 liblz4-dev:arm64 libzstd-dev:arm64 \ | |
libxml2-dev:arm64 wayland-protocols:arm64 -y --no-install-recommends | |
- name: Download SDK | |
run: curl -o vulkan-sdk.tar.gz https://sdk.lunarg.com/sdk/download/latest/linux/vulkan-sdk.tar.gz | |
- name: Unpack SDK | |
run: tar -xvf vulkan-sdk.tar.gz | |
- name: Remove x86_64 | |
run: | | |
cd `find . -maxdepth 1 -type d -name '1.*' -print -quit` | |
rm -r x86_64 | |
- name: Build SDK | |
run: | | |
cd `find . -maxdepth 1 -type d -name '1.*' -print -quit` | |
CC=/usr/bin/aarch64-linux-gnu-gcc-12 CXX=/usr/bin/aarch64-linux-gnu-g++-12 ./vulkansdk --maxjobs vulkan-loader vulkan-validationlayers vulkan-extensionlayer | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Vulkan-SDK-ARM | |
path: 1.*/ | |