From 4a135e60e42c7bb53f24a9814edc3cbfebec5474 Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Thu, 8 Jun 2023 23:59:34 +0200 Subject: [PATCH] github actions fix? ci fix? ci fix??? ci pls work ok will this build everything automagically? never have I ever seen this error before in my life i think it should build now in ci should work now ok should work now Update CMakeLists.txt let's hope CI works if I disable lto --- .github/workflows/cmake.yml | 28 +++++++++++++++------------- CMakeLists.txt | 8 ++++---- src/fuse/includes/RepoFS.h | 4 ++++ src/fuse/srcs/RepoFS.cpp | 2 +- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 3b34030..158f8fe 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -18,20 +18,22 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + - name: install everything + run: sudo apt-get install -y fuse libfuse-dev clang-14 lld-14 - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target test --parallel 4 + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: CXX=/usr/bin/clang++ CC=/usr/bin/clang cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - - name: Test - working-directory: ${{github.workspace}}/build - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ./test + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel 4 + - name: Test + working-directory: ${{github.workspace}}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest --verbose -C ${{env.BUILD_TYPE}} diff --git a/CMakeLists.txt b/CMakeLists.txt index 83703cd..69dc848 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.22) -#add_compile_options(-Ofast) -#add_link_options(-Ofast) +add_compile_options(-Ofast) +add_link_options(-Ofast) -add_compile_options(-Ofast -flto) -add_link_options(-Ofast -flto) +#add_compile_options(-Ofast -flto) +#add_link_options(-Ofast -flto) #add_compile_options(-Wall -O0 -Wextra -pedantic -Wshadow -Wformat=2 -Wfloat-equal -D_GLIBCXX_DEBUG -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g -rdynamic) #add_compile_options(-fsanitize=address -fsanitize=undefined -fno-sanitize-recover) diff --git a/src/fuse/includes/RepoFS.h b/src/fuse/includes/RepoFS.h index 324cb9e..dea5691 100644 --- a/src/fuse/includes/RepoFS.h +++ b/src/fuse/includes/RepoFS.h @@ -7,12 +7,16 @@ #define FUSE_USE_VERSION 26 +#include +#include #include +#include #include "Repository.h" #include "objects/Archive.h" #include "objects/File.h" +// TODO: fix it so it compiles with something other than clang struct DirEntry { std::unordered_map children; std::optional file; diff --git a/src/fuse/srcs/RepoFS.cpp b/src/fuse/srcs/RepoFS.cpp index edf7d7e..46e59a4 100644 --- a/src/fuse/srcs/RepoFS.cpp +++ b/src/fuse/srcs/RepoFS.cpp @@ -124,9 +124,9 @@ static int rfsRead(const char *path, char *buf, size_t size, off_t offset, static struct fuse_operations rfsOps = { .getattr = rfsGetattr, - .readdir = rfsReaddir, .open = rfsOpen, .read = rfsRead, + .readdir = rfsReaddir, }; void RepoFS::start(Repository *repo, std::string path) {