Skip to content

Added recreating the swapchain if monitor configuration is different. #465

Added recreating the swapchain if monitor configuration is different.

Added recreating the swapchain if monitor configuration is different. #465

name: OpenGL Linux ARM64
on:
push:
branches-ignore:
- vulkan
tags-ignore:
- '**'
jobs:
###################################
# #
# FULL BUILDS #
# #
###################################
linux-opengl-arm64:
runs-on: ubuntu-22.04-arm
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Get machine name
run: |
echo "Machine name: $RUNNER_NAME"
- name: Update repos
run: |
sudo add-apt-repository universe -y
sudo apt-get update || { echo "apt-get update failed"; exit 1; }
- name: Install OpenGL dev
run: sudo apt-get install -y xorg-dev libglu1-mesa-dev mesa-common-dev
- name: Install X11 dev
run: sudo apt-get install -y libx11-dev libxcursor-dev libxinerama-dev
- name: Install ALSA dev
run: sudo apt-get install -y libasound2-dev
- name: Install PulseAudio dev
run: sudo apt-get install -y libpulse-dev
- name: Install Pango dev
run: sudo apt-get install -y libpango1.0-dev
- name: Install Wayland
run: sudo apt-get install -y libwayland-dev wayland-protocols libdbus-1-dev libxkbcommon-dev libegl-dev libgtk-3-dev
- name: Install curl and openssl
run: sudo apt-get install -y curl openssl rsync libunistring-dev
- name: Install ninja-build
run: sudo apt-get install -y ninja-build
- name: Install gettext
run: sudo apt-get install -y gettext
- name: Install python dependencies
run: sudo apt-get install -y libssl-dev libffi-dev python3
- name: Synchronize clock
run: |
sudo apt-get install -y ntp
- name: Setup environment
run: mkdir -p ssh
- name: Decode SSH key
run: echo "${{ secrets.SSH_PRIVATE_KEY }}" | base64 -d > ssh/id_rsa
shell: bash
# - name: List disk space (wmic no longer available on ARM64)
# shell: cmd
# run: |
# wmic logicaldisk get freespace, size, caption
- name: Set permissions on SSH key
run: chmod 600 ssh/id_rsa
- name: Decode FLTK SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.FLTK_DEPLOY_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan github.com >> ~/.ssh/known_hosts
- name: Add SourceForge to known_hosts
run: |
mkdir -p ~/.ssh
ssh-keyscan frs.sourceforge.net >> ~/.ssh/known_hosts
- name: Set executable permissions
run: |
chmod +x ./*.sh ./bin/*.sh ./etc/*.sh ./bin/release/*.sh
- name: List disk space
run: |
df -k
- name: Build mrv2
env:
BUILD_PYTHON: ON
MRV2_PYFLTK: ON
MRV2_PYBIND11: ON
MRV2_NETWORK: ON
MRV2_PDF: ON
MRV2_VK: ON
TLRENDER_AV1: ON
TLRENDER_EXR: ON
TLRENDER_FFMPEG: ON
TLRENDER_FFMPEG_MINIMAL: ON
TLRENDER_HAP: ON
TLRENDER_JPEG: ON
TLRENDER_NDI: OFF
TLRENDER_NET: ON
TLRENDER_OPENJPH: ON
TLRENDER_RAW: ON
TLRENDER_SGI: ON
TLRENDER_STB: ON
TLRENDER_SVTAV1: ON
TLRENDER_TIFF: ON
TLRENDER_USD: ON
TLRENDER_VK: OFF
TLRENDER_VPX: ON
TLRENDER_YASM: ON
run: |
./etc/runme_nolog.sh -t package clean
- name: Upload binaries
run: |
./bin/release/upload_sourceforge.sh
# - name: Upload Beta Release
# uses: softprops/action-gh-release@v2
# with:
# tag_name: betas
# name: Betas Builds
# body: |
# Latest beta build - auto-updated.
# Built on: ${{ github.event.head_commit.message }}
# prerelease: true
# files: |
# packages/BUILD-Linux-aarch64/Release/mrv2-beta-Linux-aarch64.deb
# packages/BUILD-Linux-aarch64/Release/mrv2-beta-Linux-aarch64.rpm
# packages/BUILD-Linux-aarch64/Release/mrv2-beta-Linux-aarch64.tar.gz
# overwrite_files: true # THIS IS KEY
# token: ${{ secrets.GITHUB_TOKEN }}