Skip to content

Refactor main file

Refactor main file #24

Workflow file for this run

name: Build with CMake
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
BUILD_TYPE: Release
jobs:
build_ubuntu_noble:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get -y install libglfw3-dev libopengl-dev cppcheck
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
${{github.workspace}}/build/tsor --help
- uses: actions/upload-artifact@v4
name: Upload artifact
with:
name: tsor_ubuntu_noble_amd64
path: ${{github.workspace}}/build/tsor
build_ubuntu_jammy:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get -y install libglfw3-dev libopengl-dev cppcheck
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
${{github.workspace}}/build/tsor --help
- uses: actions/upload-artifact@v4
name: Upload artifact
with:
name: tsor_ubuntu_jammy_amd64
path: ${{github.workspace}}/build/tsor
build_ubuntu_focal:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get -y install libglfw3-dev libopengl-dev cppcheck
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
${{github.workspace}}/build/tsor --help
- uses: actions/upload-artifact@v4
name: Upload artifact
with:
name: tsor_ubuntu_focal_amd64
path: ${{github.workspace}}/build/tsor
build_appimage:
runs-on: ubuntu-22.04
needs: [build_ubuntu_noble, build_ubuntu_jammy, build_ubuntu_focal]
steps:
- uses: actions/checkout@v4
name: Get recipe
with:
sparse-checkout: |
AppImage.yml
docs/tsor.svg
sparse-checkout-cone-mode: false
path: ${{github.workspace}}/tsor
- uses: actions/checkout@v4
name: Get appimage-builder
with:
repository: 'AppImageCrafters/appimage-builder'
ref: '61c8ddde9ef44b85d7444bbe79d80b44a6a5576d'
path: ${{github.workspace}}/appimage-builder
- uses: actions/download-artifact@v4
name: Download focal build
with:
name: tsor_ubuntu_focal_amd64
path: ${{github.workspace}}/AppDir
- uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get -y install patchelf zsync
pip install ${{github.workspace}}/appimage-builder
- name: Build AppImage
run: |
mkdir -p ${{github.workspace}}/AppDir/usr/share/icons
cp ${{github.workspace}}/tsor/docs/tsor.svg ${{github.workspace}}/AppDir/usr/share/icons/tsor.svg
chmod +x ${{github.workspace}}/AppDir/tsor
appimage-builder --recipe ${{github.workspace}}/tsor/AppImage.yml
chmod +x ${{github.workspace}}/tsor-latest-x86_64.AppImage
- uses: actions/upload-artifact@v4
name: Upload artifact
with:
name: tsor-latest-x86_64.AppImage
path: ${{github.workspace}}/tsor-latest-x86_64.AppImage