Updated release workflow and CHANGELOG.md #10
Workflow file for this run
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 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 |