Commit graph

207 commits

Author SHA1 Message Date
Jonathan Wright 28778eaf8c
build: Remove fedora 36 builds (#1097)
Fedora 36 is EOL.

Build roots for it were taken offline this morning so builds against it
will fail now.
2023-05-22 17:49:49 +02:00
WerWolv 047c39e2c7 build: Checkout repo properly in release CI 2023-05-21 11:12:53 +02:00
WerWolv 143fe36d35 build: Fixed various build warnings 2023-04-13 16:11:39 +02:00
WerWolv 6c047f01f9 git: Fixed release CI not reading version correctly 2023-04-04 21:59:43 +02:00
Jonathan Wright 245c56ba8a
build: Added Fedora 38 build (#928)
Co-authored-by: Thomas <hey@itrooz.fr>
2023-03-26 11:37:46 +02:00
WerWolv 0aaeeffff7 build: Fixed capitalization of ImHex in MSI installer 2023-03-26 11:22:50 +02:00
WerWolv a36b4d65e3 build: Make sure commit hash and branch end up in nightly builds 2023-03-21 10:14:09 +01:00
WerWolv 07fd86fc9d git: Split release workflows into multiple steps 2023-02-15 10:21:56 +01:00
Thomas 75adcc0a96
build: Fix Arch package name in release CI (#929)
* Fix Arch package name in release CI

* update email address
2023-02-13 09:05:52 +01:00
WerWolv 45558027a6 git: Fixed release workflow 2023-02-12 21:55:22 +01:00
Jonathan Wright d02507ae4b
build: Re-enable Fedora rawhide builds (#920)
* re-enable rawhide builds

* Update build.yml

* Update imhex.spec

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2023-02-02 21:42:13 +01:00
WerWolv c76b4bc9e9 impr: Removed a bunch of trailing white spaces 2023-01-30 11:11:30 +01:00
WerWolv 55d7d7c026 impr: Improve code quality 2023-01-30 10:42:07 +01:00
Nik 48a57cd981
feat: Added stacktrace printing on crashes (#892)
* feat: Added simple stack trace output

* feat: Added backtrace wrapper

* build: Added libbacktrace include dirs to build

* build: Fixed libbacktrace variables

* build: More backtrace variable fixes

* build: Try to find backtrace include

* build: Get backtrace header from cmake script

* feat: Added backtrace support for execinfo

* feat: Added support for StackWalk on Windows
2023-01-17 21:38:56 +01:00
WerWolv b497e9d867 git: Switch to different repo dispatch action 2023-01-13 08:58:03 +01:00
Thomas 69c0e6ee6e
git: Do not run make install for tests (#879)
Co-authored-by: Nik <werwolv98@gmail.com>
2023-01-13 00:32:17 +01:00
Thomas 78b07e0a46
git: Make runner cache keys unique (#878) 2023-01-13 00:10:28 +01:00
Thomas 5a865774d1
git: Cleanup build CI + separate Ubuntu and AppImage builds (#873)
* remove flatpak

rationale: if we need it again we can always get it back from old commits

* remove double spaces

* remove Fedora rawhide

* remove Windows installer signing

* separate Ubuntu and AppImage builds
2023-01-12 23:50:59 +01:00
Thomas b070092a64
git: Add architecture to build artifacts (#869)
* rename win64 artifact to Windows

* add architecture to all artifact names
2023-01-12 08:25:28 +01:00
Jonathan Wright 04d0458ae7
build: Improve Fedora builds and add EL9 build. (#861) 2023-01-10 23:10:34 +01:00
WerWolv e0c1fc81e3 build: Download Mesa3D from werwolv.net instead 2022-12-21 07:13:31 +01:00
Thomas ed97757dde
build: Fix AppImage building issues (#847)
From https://github.com/AppImageCrafters/appimage-builder/pull/281
2022-12-18 16:05:14 +01:00
iTrooz_ 8e696e3fc4
git: Enable LTO on Linux (#819)
* Enable LTO on Fedora .spec

* CI: Enable LTO for Ubuntu and ArchLinux

* CI: remove lld to allow LTO
2022-11-25 10:40:07 +01:00
WerWolv b2c970c3bd git: Removed macOS portable build again 2022-11-09 20:52:23 +01:00
WerWolv a6742de405 sys: Literally, fuck Valve 2022-11-02 08:24:00 +01:00
iTrooz_ 6cb9714f06
git: Automatically label created issues (#811) 2022-11-01 09:31:46 +01:00
iTrooz_ 2826e6f325
git: Updated issue templates (#807)
* add "Additional context" option for feature request

* use placeholder instead of value

* Ask for installation type in bug reports
2022-10-29 20:38:22 +02:00
WerWolv 582858c0d4 git: Download all artifacts to their own folders 2022-10-28 10:55:06 +02:00
WerWolv 7d56c64a9c git: Download only necessary artifacts in steam deploy job 2022-10-28 10:29:40 +02:00
WerWolv 902b35e189 git: Fix downloading artifacts in steam deploy job 2022-10-28 10:02:38 +02:00
WerWolv 5f6050aaec git: Fixed more build issues 2022-10-28 09:38:03 +02:00
WerWolv cb94213a04 git: Fix some more steam deploy issues 2022-10-28 09:17:04 +02:00
WerWolv fa6580f622 git: Move steam deploy to its own workflow 2022-10-28 09:14:01 +02:00
WerWolv e15bcb51aa git: Fix setting of version env var on Windows 2022-10-27 14:12:46 +02:00
WerWolv 6aad609a48 git: Fix more issues with the Steam Deployment 2022-10-27 14:05:06 +02:00
Nik e567061e3c
git: Added automatic pushing of nightlies to Steam (#801)
* build: Upload nightly releases to steam

* git: Fixed build CI syntax

* git: Try fixing steam login

* git: Try steam TOTP login

* git: Fix steam-deploy branch

* git: Don't upload MacOS No-GPU version to Steam

* git: Added commit hash to steam nightlies, only upload on our repo

* git: Use full commit hash in steam nightly description

* git: Fixed workflow

* git: Make sure macOS doesn't upload steam releases when it shouldn't

* git: Fix macos CI again

* git: Use steam-deploy fork to fix Linux deployment
2022-10-27 13:19:06 +02:00
WerWolv 33a0ee37fa build: Update ImHex-Rust-Plugin-Template on release 2022-10-21 14:59:43 +02:00
iTrooz_ 4d17265e90
git: Use action to manage ccache + minor fixes (#775)
* use action for ccache + limit cache size

* remove 'prepare cache' step for Windows

* remove libpython from CI

* fix the restore key for MacOS

* remove Rust from CI

* do not pin appimage-builder version since issue with it has been resolved

* use ccache action for CodeQL

* Rebased onto latest master

Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-10-10 20:37:00 +02:00
WerWolv b734fb5511 build: Delete system capstone in macOS CI 2022-10-06 15:22:38 +02:00
Nik e865883611
git: Remove msi signing again since Microsoft doesn't care at all (#765) 2022-10-02 17:31:40 +02:00
WerWolv 55bd2c6da6 git: Add code signing for Windows installer 2022-09-21 21:24:47 +02:00
WerWolv 73ca45ad3d git: Updated winget-create to the latest release 2022-09-16 08:30:42 +02:00
iTrooz_ f219395b25
build: Added AppImage zsync and updated metadata (#733)
* added update information

* upload zsync

* set version of appimage

* release: do not execute steps which needs a token when not provided

* set the appimage output name directly in the recipe file

* add metainfo file in every Linux package

* update metainfo file

* set categories in the metainfo file

* add both .metainfo.xml and .appdata.xml files because it is the old standard still wanted by some things

* actually use WerWolv's repository for AppImage updates

* rename metainfo files

* Typo : appdata and not appinfo

* split screenshots
2022-09-08 09:31:49 +02:00
iTrooz_ ae6a7ad8e5
build: Change Ubuntu package name, updated README (#734)
* rename Ubuntu 22.04 deb

* fix typo in readme

* says explicitely that AppImage is available for all distributions
2022-09-08 09:30:56 +02:00
iTrooz_ b10ba8fea0
build: Add NoGPU (Software Rendering) version for Windows (#716)
* add NoGPU (Software Rendering) version for Windows

* rename the NoGPU artifact

* add emoji to a step
2022-09-02 16:12:02 +02:00
iTrooz_ 3eb2cca286
build: Add text to the PORTABLE file (#718) 2022-09-02 16:11:19 +02:00
iTrooz_ 0569770239
git: Added NoGPU dmg for MacOS (#708) 2022-08-30 09:47:39 +02:00
iTrooz_ 38162c0129
build: Use the bundled CA cert in AppImage (#694)
* Added option to bundle CA

* use bundled CA for AppImage

* Fix bundled CA not working on Linux

* revert change to add null terminated string

* set IMHEX_USE_BUNDLED_CA to ON on Windows
2022-08-26 00:21:17 +02:00
WerWolv f8a089a61f
build: Added appdata metainfo file to AppImage 2022-08-19 12:05:47 +02:00
iTrooz_ 6a88c7cbaa
git: Make sure Linux CI doesn't build ImHex twice (#689)
* install deb package in a different folder than AppImage

* added comment for Ubuntu cmake build

* fixed typos

* separate cmake build for deb and appimage
2022-08-18 23:03:31 +02:00
WerWolv 9c4e314bb6
git: Fixed release CI 2022-08-17 23:25:52 +02:00
WerWolv 5aee359700
git: Send workflow dispatch request to Plugin template repo on release 2022-08-17 22:32:55 +02:00
WerWolv cf6ae52889 git: Automatically update winget package on release 2022-08-17 15:50:29 +02:00
WerWolv 07dc77f13d
git: Build Unit tests with debug symbols 2022-08-15 23:49:42 +02:00
WerWolv 9b2ee998de git: Enabled address, leak and UB sanitizers in unit tests CI 2022-08-15 23:33:04 +02:00
iTrooz_ b917bfca07
git: Fix Fedora spec name and removed caching from Fedora CI (#672)
* changed name to 'imhex' in imhex.spec

* removed CMakeCache for Fedora
2022-08-14 10:08:58 +02:00
WerWolv 4c331341e5 git: Output unit test errors on failure 2022-08-09 16:31:10 +02:00
WerWolv 49cc85dd3b
git: Fix deb compression argument 2022-08-05 19:45:01 +02:00
WerWolv 974b9c77e0
git: Use gzip to compress .deb files 2022-08-05 19:33:32 +02:00
iTrooz_ ddf4eb3e2b git: Cleanup CI scripts (#650)
* RUST_PATH doesn't seem to be used on ArchLinux

* renamed jobs

* no objc code on Windows (need confirmation)

* fakeroot strace patchelf for Ubuntu : not needed ?

* try to use some system libraries on Arch

* added comments to scroll to cmake instruction easily

* No ojbC code on Ubuntu
2022-08-04 21:52:56 +02:00
WerWolv 65ed949e1b
build: Try setting osx deployment target in cmake directly 2022-08-04 20:39:07 +02:00
iTrooz_ e816b67472
build: Fix various issues for upstream Fedora compatibility (#642)
* cmake: use GNUInstallDirs to find install dirs on Linux

* install plugins to lib/imhex/plugins

* fix included files in imhex.spec

* fix the release CI + do not upload x86_64 folder for Fedora

* change rpm names

* added IMHEX_STRIP_RELEASE option to optionally strip releases files (was done all the time before)

* Customize our imhex.spec file (use online building for our Fedora package)

* added IMHEX_PLUGINS_IN_SHARE option for AppImage

* test
2022-08-04 20:37:57 +02:00
Ryan Russell 55d046fa36
refactor(imgui-rs): Rust code readability improvements (#620)
* chore: bug report template readability fix

Signed-off-by: Ryan Russell <git@ryanrussell.org>

* refactor(imgui-rs): Doc aliases readability fixes

Signed-off-by: Ryan Russell <git@ryanrussell.org>

* refactor(imgui-rs): Code comment readability

Signed-off-by: Ryan Russell <git@ryanrussell.org>
2022-08-02 12:11:04 +02:00
WerWolv b8c034f8c5 sys: Prevent portable Windows version from writing to AppData
Fixes #627
2022-08-01 14:51:40 +02:00
WerWolv 899f2b3fbd build: macOS 10.4 is apparently deprecated 2022-08-01 14:50:27 +02:00
WerWolv be0fe4c0d0 build: Lower the macOS deployment target to 10.4 2022-08-01 14:19:56 +02:00
iTrooz_ df94370598
build: Fix CI for Fedora, added caching, various other fixes (#613)
* Ci: use matrix for Fedora

* Ci: use ccache in Fedora build

* Ci: cache CMakeCache for Fedora

* build type release fedora

* Rawhide with lowercase

* strip binaries on Linux

* strip files for CPack (didn't test)

* add soversion to libimhex on Linux and MacOS

* fixed that typo
2022-07-31 17:29:57 +02:00
iTrooz_ f23ee951d9
build: Use system curl on ArchLinux builds (#617) 2022-07-31 15:28:05 +02:00
Jonathan Wright f12f10bc9e
git: Added Fedora .rpm packaging to CI (#608)
* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update get_deps_fedora.sh

* Update build.yml

* Update get_deps_fedora.sh

* Update build.yml

* Update build.yml

* Update get_deps_fedora.sh

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Create imhex.spec

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update imhex.spec

* Update build.yml

* Update README.md

* remove duplicate fedora build deps

* Fix license

* Use release tag 0

fedora official packaging starts at 1 so this will prevent conflicts and allow someone who manually installs the RPM to then later get updates from fedora repositories

* add RPMs to releases

* include rpms in releases

* fixed order of ops for fedora builds

* can't checkout without git...
2022-07-31 00:43:42 +02:00
WerWolv 71a7ae70d0 git: Fixed Arch Linux CI build issue 2022-07-23 20:42:59 +02:00
WerWolv b6d7fd6984 git: Make analysis workflow also pull latest patterns 2022-07-18 20:18:41 +02:00
WerWolv d8eb027c94 git: Make tests also pull latest patterns 2022-07-18 20:15:14 +02:00
WerWolv 80d47b658e git: Fixed CI, updated all env var names 2022-07-18 20:13:01 +02:00
WerWolv 51f2b24daa git: Create new ImHex-Patterns release on new ImHex release 2022-07-18 20:02:12 +02:00
iTrooz_ 9837473810
git: Automatically create PatternLanguage release on new ImHex releases (#570) 2022-07-07 16:10:21 +02:00
iTrooz_ a30f49c75e
git: Improve size of Full Sources tar (#569)
* remove .git directories from Full sources

* actually compress Full sources
2022-07-05 10:12:16 +02:00
iTrooz_ ceb07b7425
build: Added AUR/ArchLinux support (#566)
* store version in file

* use version file in release workflow

* use new version file in build workflow

* ArchLinux build

* setup cache for ArchLinux

* add version check in release CI

* edit step description

* update pkgbuild to install correctly

* AUR deploy

* rename version file to VERSION

* install all default plugins in PKGBUILD

* Added emojis to build workflow

* Added emojis to release workflow

* separate update packages and install dependencies in two steps

* fix Release CI

* add md5Sums to PKGBUILD

* make PKGBUILD point to the official repo + set v in tag
2022-07-04 21:40:22 +02:00
WerWolv 4885175ac6
build: Go back to macOS 11 to hopefully still support Catalina 2022-07-04 00:11:47 +02:00
iTrooz_ 11c2f240a1
git: Add version to artifact names (#559)
* Version file test

* change artifacts names

* Release updated

* Set release job name

* set branch to the branch used to release

* Set version for Windows Portable

* git: New cache update (#558)

* add CMakeCache.txt to cache

* added workflow_dispatch to workflows

* remove restore-keys from workflows

* Separated cache

* re-added restore-keys

* put the version file for all OS

* fix: In/Out parameters not working correctly when using the preprocessor

* update submodules

Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-06-29 15:01:08 +02:00
iTrooz_ 7242eb8f4c
git: New cache update (#558)
* add CMakeCache.txt to cache

* added workflow_dispatch to workflows

* remove restore-keys from workflows

* Separated cache

* re-added restore-keys
2022-06-29 00:24:53 +02:00
iTrooz_ 01adc8a2cd
build: Fix various CI caching issues (#553)
* removed restore-keys

* updated cache for Ubuntu 22

* using ccache on OBJC and OBJCXX

* Bonus: fix release workflow
2022-06-27 00:20:32 +02:00
WerWolv 3471b314dd
build: Switch to GCC on MacOS (#552)
* build: Experimentally switch to gcc on macOS

* build: Corrected gcc paths

* build: Enable objective c support on macOS

* build: Enable ObjC and ObjC++ on macOS

* build: Add ObjC and ObjC++ flags

* build: Try compiling objc with clang

* build: Remove invalid flags again

* fix: Let's not include objc headers in C++ code

* sys: Move macos utils code to its own file

* fix: Missing unistd include on mac

* sys: Removed loader script stuff since it's currently unused and broken

* fix: Missing include

* fix: Another missing include

* fix: CFURLCreateWithBytes wants a pointer to mutable data

* fix: Try disabling name mangling of ObjC functions

* sys: Move macos utils declarations to its own header file

* fix: C Linkage

* fix: Move objc function prototypes to C++ headers

* fix: More missing includes

* fix: Warning error

* sys: Call ObjC with C ABI instead of trying to use C++

* build: Update libraries

* sys: Fixed build errors

* sys: No const correctness I guess

* sys: Fixed prototypes

* sys: This is C now

* sys: More nullptr -> NULL

* sys: Fix crash on exit

* sys: Try using proper std concepts instead of custom ones

* sys: Replaced another hex::is_signed

* build: Upgrade to gcc 12 and MacOS Monterey

* build: Fixed MacOS runner name

* build: Cache correct ccache folder on macOS
2022-06-25 12:19:59 +02:00
iTrooz_ c6989c2ef7
build: Fixed various issues with the CI and Linux packages (#548)
* Ci: added workflow_dispatch trigger

* Ci: removed fetch depth

* Ci: Add information to generated artifacts

* Ci: Updated Linux runner to Ubuntu 22.04

* Packaging: Updated .deb dependencies

* Ci: Removed ELF artifact

* Ci: Upgraded actions versions

* Ci: Switch to gcc-11 for unit tests and analysis
2022-06-23 23:48:02 +02:00
iTrooz_ e33726f526
git: Added automatic release and source tar upload on release (#537)
* added release.yml

* Build CI now only triggers on branch push
2022-06-19 15:16:03 +02:00
iTrooz_ 5b74739c51
git: Fixed CI failing with AppImages (#509) 2022-05-22 23:23:54 +02:00
WerWolv 0462cc3d0c
sys: Enable -Wall, -Wextra, -Werror and fix all warnings on all Platforms (#483)
* sys: Make ImHex compile with -Wall -Wextra -Werror

* sys: Fixed various build errors on Linux

* sys: Explicitly ignore return value of `system` function

* sys: More fixes for the warnings GitHub Actions enables somehow

* sys: More fixes

* sys: Remove -Werror again to see all GitHub Actions warnings

* sys: Hopefully fixed all remaining warnings

* sys: Added back -Werror

* git: Change windows icon in GitHub Actions
2022-03-27 00:01:28 +01:00
WerWolv 854c99bafa
build: Replace manual AppImage bundling with appimage-builder script (#477)
* build: Tried to streamline and fix AppImage building

* build: Tried fixing build

* build: Added back version key

* build: Fixed AppImage name

* build: Fixed python bundling, fixed ELF uploading

* build: Don't upload a bunch of AppImage garbage files in the portable ELF version

* build: Fixed another wrong library path

* build: Removed old manual AppImage building scripts
2022-03-20 23:43:55 +01:00
WerWolv 545ff9de56 git: Disable Flatpak bundling as it's broken on GitHub Actions 2022-02-06 00:19:39 +01:00
WerWolv 6806f8e5ba git: Explicitly move to Windows Server 2022 for building 2022-01-22 22:15:15 +01:00
Mark Nokalt 3e9493f3e7
build: Fix usage of CMAKE_INSTALL_PREFIX on Linux (#401)
* build: Fix usage of CMAKE_INSTALL_PREFIX

* build: Use /usr prefix in Linux CI builds

* ci: Delete DEBIAN folder after .deb packaging step
2022-01-22 22:10:49 +01:00
WerWolv d8219ad971
build: Cleaned up cmake build structure (#399)
* build: Cleanup build process, move main application to /main folder

* build: Try fixing MacOS bundling

* build: Fixed swapped parameters

* build: One imhex -> main too much

* build: Move resources to a better location

* build: Try to fix macos bundle creation

* build: More bundle fixes

* build: Fixed syntax

* build: Another try

* build: Added macos debugging stuff

* build: Fix bundle path

* build: Removed duplicated adding of Frameworks folder to rpath

* build: Removed debugging
2022-01-15 00:14:12 +01:00
WerWolv b34b4c2362 git: Tried to fix cache issue with Linux runner 2022-01-14 18:09:55 +01:00
WerWolv 0986527495 build: Use ld.lld as linker 2022-01-13 21:31:01 +01:00
WerWolv 3d32261f16 git: Fixed issue templates 2021-12-21 11:39:10 +01:00
WerWolv b17808c6c7 build: Completely get rid of system capstone 2021-12-16 12:37:22 +01:00
WerWolv 79ace0a106 build: Allow invalidating caches easily 2021-12-15 23:57:00 +01:00
WerWolv c61e807f13
build: Clear up some unnecessary files on Linux 2021-12-15 21:44:57 +01:00
WerWolv df26127f88
build: Force flatpak-builder to use 4 cores 2021-12-15 20:41:10 +01:00
WerWolv a05d09ffea build: Build unit tests again when needed 2021-12-14 21:27:02 +01:00
WerWolv 821eb4568e Revert "git: No need to upload flatpak-builder files into cache on Linux"
This reverts commit 5759f163e3.
2021-12-12 01:16:26 +01:00