Skip to content

Updated release workflow and CHANGELOG.md #10

Updated release workflow and CHANGELOG.md

Updated release workflow and CHANGELOG.md #10

Workflow file for this run

name: Build NifSkope release packages
on:
push:
branches:
- qt6
tags:
- 'v2*'
jobs:
build_windows:
runs-on: windows-latest
name: Build MSYS2
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Setup MSYS2'
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
cache: true
install: 'base-devel mingw-w64-ucrt-x86_64-gcc msys/p7zip mingw-w64-ucrt-x86_64-qt6-base mingw-w64-ucrt-x86_64-qt6-3d mingw-w64-ucrt-x86_64-qt6-5compat mingw-w64-ucrt-x86_64-qt6-imageformats mingw-w64-ucrt-x86_64-qt6-tools'
- name: 'Build with qmake'
shell: msys2 {0}
run: |
qmake6 noavx=1 NifSkope.pro
make -j 8
mv -f release/NifSkope.exe release/NifSkope_noavx.exe
make clean
qmake6 noavx2=1 NifSkope.pro
make -j 8
mv -f release/NifSkope.exe release/NifSkope_noavx2.exe
make clean
qmake6 NifSkope.pro
make -j 8
mv -f release NifSkope
7za a -m0=lzma -mx=9 NifSkope_2_0_$(date +"%Y-%m-%d")-win64qt6_gcc.7z NifSkope
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-win
path: |
NifSkope*.7z
build_linux:
runs-on: 'ubuntu-24.04'
name: Build Linux
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Install required packages'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libsdl2-dev qt6-base-dev qt6-base-private-dev qt6-base-dev-tools qt6-5compat-dev qt6-3d-dev qmake6 qt6-image-formats-plugins libglu1-mesa-dev 7zip
version: 1.0
- name: 'Build with qmake'
run: |
qmake6 noavx=1 NifSkope.pro
make -j 8
mv -f release/NifSkope release/NifSkope_noavx
make clean
qmake6 noavx2=1 NifSkope.pro
make -j 8
mv -f release/NifSkope release/NifSkope_noavx2
make clean
qmake6 NifSkope.pro
make -j 8
chmod -f 0755 release release/NifSkope release/NifSkope_noavx release/NifSkope_noavx2
mv -f release nifskope-linux
7za a -m0=lzma -mx=9 NifSkope_2_0_$(date +"%Y-%m-%d")-linuxqt6_x64.7z nifskope-linux
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-linux
path: NifSkope*.7z
build_macos:
runs-on: macos-latest
name: Build MacOS
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Install required packages'
uses: jurplel/install-qt-action@v4
with:
version: '6.7.2'
modules: 'qt5compat'
- name: 'Install clang'
run: brew install llvm
- name: 'Build with qmake'
run: |
qmake6 QMAKE_APPLE_DEVICE_ARCHS="x86_64" noavx2=1 NifSkope.pro
make -j 8
- name: 'Create DMG image'
run: |
rm release/shaders/stf_default.*
cp res/stf_compat.* release/shaders/
mv release/*.xml release/shaders release/qt.conf release/style.qss release/*.txt release/NifSkope.app/Contents/MacOS/
macdeployqt release/NifSkope.app -dmg
mv release/NifSkope.dmg release/NifSkope_2_0_$(date +"%Y-%m-%d")-macosqt6_x64.dmg
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-macos
path: release/NifSkope*.dmg
build_clang64:
runs-on: windows-latest
name: Build MSYS2-CLANG64
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Setup MSYS2'
uses: msys2/setup-msys2@v2
with:
msystem: CLANG64
update: true
cache: true
install: 'base-devel mingw-w64-clang-x86_64-gcc msys/p7zip mingw-w64-clang-x86_64-qt6-base mingw-w64-clang-x86_64-qt6-3d mingw-w64-clang-x86_64-qt6-5compat mingw-w64-clang-x86_64-qt6-imageformats mingw-w64-clang-x86_64-qt6-tools'
- name: 'Build with qmake'
shell: msys2 {0}
run: |
qmake6 noavx=1 NifSkope.pro
make -j 8
mv -f release/NifSkope.exe release/NifSkope_noavx.exe
make clean
qmake6 noavx2=1 NifSkope.pro
make -j 8
mv -f release/NifSkope.exe release/NifSkope_noavx2.exe
make clean
qmake6 NifSkope.pro
make -j 8
mv -f release NifSkope
7za a -m0=lzma -mx=9 NifSkope_2_0_$(date +"%Y-%m-%d")-win64qt6_clang.7z NifSkope
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-clang64
path: |
NifSkope*.7z