diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 4af3e07de2..fb79ca8796 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -15,13 +15,9 @@ jobs: env: CCACHE_DIR: /var/cache/ccache/kindred-create CCACHE_COMPRESS: "true" - CCACHE_COMPRESSLEVEL: "5" - CCACHE_MAXSIZE: "2G" - CCACHE_NODIRECT: "true" - CCACHE_NOHASHDIR: "true" - CCACHE_NOINODECACHE: "true" + CCACHE_COMPRESSLEVEL: "6" + CCACHE_MAXSIZE: "4G" CCACHE_SLOPPINESS: "include_file_ctime,include_file_mtime,pch_defines,time_macros" - CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" steps: - name: Install node if needed @@ -59,15 +55,13 @@ jobs: - name: Configure (CMake) shell: bash run: | - # Use system GCC instead of conda Clang to avoid illegal instruction errors + # Use conda Clang with modern CPU optimizations pixi run cmake --preset conda-linux-release \ - -DCMAKE_C_COMPILER=gcc \ - -DCMAKE_CXX_COMPILER=g++ \ - -DCMAKE_EXE_LINKER_FLAGS="" \ - -DCMAKE_SHARED_LINKER_FLAGS="" + -DCMAKE_C_FLAGS="-march=x86-64-v3" \ + -DCMAKE_CXX_FLAGS="-march=x86-64-v3" - name: Build - run: pixi run cmake --build build/release -j16 + run: pixi run cmake --build build/release -j$(nproc) - name: Show ccache statistics run: pixi run ccache -s diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 7f23601788..12588c6b26 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -18,15 +18,14 @@ jobs: env: CCACHE_DIR: /var/cache/ccache/kindred-create CCACHE_COMPRESS: "true" - CCACHE_COMPRESSLEVEL: "5" - CCACHE_MAXSIZE: "2G" - CCACHE_NODIRECT: "true" - CCACHE_NOHASHDIR: "true" - CCACHE_NOINODECACHE: "true" + CCACHE_COMPRESSLEVEL: "6" + CCACHE_MAXSIZE: "4G" CCACHE_SLOPPINESS: "include_file_ctime,include_file_mtime,pch_defines,time_macros" - CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" BUILD_TAG: ${{ github.ref_name || inputs.tag }} MAKE_INSTALLER: "true" + # Modern CPU flags for x86-64-v3 (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE) + CFLAGS: "-march=x86-64-v3 -O3" + CXXFLAGS: "-march=x86-64-v3 -O3" steps: - name: Install node if needed @@ -79,3 +78,12 @@ jobs: echo "Built artifacts:" ls -lah package/rattler-build/linux/*.AppImage* 2>/dev/null || echo "No AppImage files found" ls -lah package/rattler-build/linux/*-SHA256.txt 2>/dev/null || echo "No SHA256 files found" + + - name: Upload AppImage artifact + uses: https://github.com/actions/upload-artifact@v4 + with: + name: kindred-create-appimage + path: | + package/rattler-build/linux/*.AppImage + package/rattler-build/linux/*-SHA256.txt + if-no-files-found: error