From 66b67c55fbc4410803af463be01b81e84a042139 Mon Sep 17 00:00:00 2001 From: shosseinimotlagh Date: Thu, 29 Feb 2024 14:36:04 -0800 Subject: [PATCH] merge stable/v3.x to thin branch --- .github/workflows/build_dependencies.yml | 205 +++++++++-------------- .github/workflows/pr_conan_build.yml | 1 + conanfile.py | 2 +- 3 files changed, 77 insertions(+), 131 deletions(-) diff --git a/.github/workflows/build_dependencies.yml b/.github/workflows/build_dependencies.yml index 6ffc6455e..c7632af17 100644 --- a/.github/workflows/build_dependencies.yml +++ b/.github/workflows/build_dependencies.yml @@ -71,133 +71,78 @@ jobs: BuildHomestoreDeps: runs-on: ${{ inputs.platform }} steps: - - name: Retrieve Code - uses: actions/checkout@v3 - with: - ref: ${{ inputs.branch }} - if: ${{ inputs.testing == 'True' }} - - - name: Retrieve Recipe - uses: actions/checkout@v3 - with: - repository: eBay/Homestore - ref: ${{ inputs.branch }} - if: ${{ inputs.testing == 'False' }} - - - name: Load Homestore Cache - id: restore-cache - uses: eBay/sisl/.github/actions/load_conan@stable/v8.x - with: - testing: ${{ inputs.testing }} - key_prefix: HomestoreDeps8-${{ inputs.platform }}-${{ inputs.build-type }}-${{ inputs.malloc-impl }}-${{ inputs.prerelease }} - - - name: Load Sisl Cache - uses: eBay/sisl/.github/actions/load_conan@stable/v8.x - with: - load_any: 'True' - key_prefix: SislDeps8-${{ inputs.platform }}-${{ inputs.build-type }}-${{ inputs.malloc-impl }}-${{ inputs.prerelease }} - if: ${{ inputs.testing == 'True' || steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Retrieve Dependencies - uses: actions/checkout@v3 - with: - repository: eBay/iomanager - path: import/iomgr - ref: stable/v8.x - if: ${{ inputs.testing == 'True' || steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Load IOMgr Cache - uses: eBay/sisl/.github/actions/load_conan@stable/v8.x - with: - testing: 'False' - path: import/iomgr - key_prefix: IOMgrDeps8-${{ inputs.platform }}-${{ inputs.build-type }}-${{ inputs.malloc-impl }}-${{ inputs.prerelease }} - fail_on_cache_miss: true - if: ${{ inputs.testing == 'True' || steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Setup Conan - uses: eBay/sisl/.github/actions/setup_conan@stable/v8.x - with: - platform: ${{ inputs.platform }} - if: ${{ inputs.testing == 'True' || steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Export Recipes - run: | - sudo apt-get install -y python3-pyelftools libaio-dev - python -m pip install pyelftools - conan export import/iomgr - cached_pkgs=$(ls -1d ~/.conan/data/*/*/*/*/package | sed 's,.*data/,,' | cut -d'/' -f1,2 | paste -sd',' - -) - echo "::info:: Pre-cached: ${cached_pkgs}" - if: ${{ inputs.testing == 'True' || steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Build Cache - run: | - conan install \ - -o sisl:prerelease=${{ inputs.prerelease }} \ - -o sisl:malloc_impl=${{ inputs.malloc-impl }} \ - -o iomgr:testing=off \ - -o testing=min \ - -s build_type=${{ inputs.build-type }} \ - --build missing \ - . - if: ${{ steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Save Conan Cache - uses: eBay/sisl/.github/actions/store_conan@stable/v8.x - with: - key_prefix: HomestoreDeps8-${{ inputs.platform }}-${{ inputs.build-type }}-${{ inputs.malloc-impl }}-${{ inputs.prerelease }} - if: ${{ github.event_name != 'pull_request' && steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Reload Sisl Cache - uses: eBay/sisl/.github/actions/load_conan@stable/v8.x - with: - load_any: 'True' - key_prefix: SislDeps8-${{ inputs.platform }}-${{ inputs.build-type }}-${{ inputs.malloc-impl }}-${{ inputs.prerelease }} - if: ${{ inputs.testing == 'True' && github.event_name != 'pull_request' && steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Reload IOMgr Cache - uses: eBay/sisl/.github/actions/load_conan@stable/v8.x - with: - testing: 'False' - path: import/sisl - key_prefix: IOMgrDeps8-${{ inputs.platform }}-${{ inputs.build-type }}-${{ inputs.malloc-impl }}-${{ inputs.prerelease }} - fail_on_cache_miss: true - if: ${{ inputs.testing == 'True' && github.event_name != 'pull_request' && steps.restore-cache.outputs.cache-hit != 'true' }} - - - name: Code Coverage Run - run: | - conan install \ - -o sisl:prerelease=${{ inputs.prerelease }} \ - -o sisl:malloc_impl=${{ inputs.malloc-impl }} \ - -o iomgr:testing=off \ - -o homestore:testing=min \ - -o coverage=True \ - -s build_type=${{ inputs.build-type }} \ - --build missing \ - . - conan build . - if: ${{ inputs.testing == 'True' && inputs.platform == 'ubuntu-22.04' && inputs.build-type == 'Debug' && inputs.malloc-impl == 'libc' && inputs.prerelease == 'False' }} - - - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - gcov: true - if: ${{ inputs.testing == 'True' && inputs.platform == 'ubuntu-22.04' && inputs.build-type == 'Debug' && inputs.malloc-impl == 'libc' && inputs.prerelease == 'False' }} - - - name: Create and Test Package - run: | - sanitize=$([[ "${{ inputs.build-type }}" == "Debug" && \ - "${{ inputs.malloc-impl }}" == "libc" && \ - "${{ inputs.prerelease }}" == "True" ]] && \ - echo "True" || echo "False") - conan create \ - -o sisl:prerelease=${{ inputs.prerelease }} \ - -o sisl:malloc_impl=${{ inputs.malloc-impl }} \ - -o iomgr:testing=off \ - -o homestore:testing=min \ - -o homestore:sanitize=${sanitize} \ - -s build_type=${{ inputs.build-type }} \ - --build missing \ - . - if: ${{ inputs.testing == 'True' && ( inputs.platform != 'ubuntu-22.04' || inputs.build-type != 'Debug' || inputs.malloc-impl != 'libc' || inputs.prerelease != 'False' ) }} + - name: Retrieve Code + uses: actions/checkout@v3 + with: + ref: ${{ inputs.branch }} + if: ${{ inputs.testing == 'True' }} + + - name: Retrieve Recipe + uses: actions/checkout@v3 + with: + repository: eBay/Homestore + ref: ${{ inputs.branch }} + if: ${{ inputs.testing == 'False' }} + + - name: Setup Conan + uses: eBay/sisl/.github/actions/setup_conan@stable/v8.x + with: + platform: ${{ inputs.platform }} + if: ${{ inputs.testing == 'True' }} + + - name: Export Recipes + run: | + sudo apt-get install -y python3-pyelftools libaio-dev + python -m pip install pyelftools + conan export import/iomgr + cached_pkgs=$(ls -1d ~/.conan/data/*/*/*/*/package | sed 's,.*data/,,' | cut -d'/' -f1,2 | paste -sd',' - -) + echo "::info:: Pre-cached: ${cached_pkgs}" + if: ${{ inputs.testing == 'True' }} + + - name: Build Cache + run: | + conan install \ + -o sisl:prerelease=${{ inputs.prerelease }} \ + -o sisl:malloc_impl=${{ inputs.malloc-impl }} \ + -o iomgr:testing=off \ + -o testing=min \ + -s build_type=${{ inputs.build-type }} \ + --build missing \ + . + - name: Code Coverage Run + run: | + conan install \ + -o sisl:prerelease=${{ inputs.prerelease }} \ + -o sisl:malloc_impl=${{ inputs.malloc-impl }} \ + -o iomgr:testing=off \ + -o homestore:testing=min \ + -o coverage=True \ + -s build_type=${{ inputs.build-type }} \ + --build missing \ + . + conan build . + if: ${{ inputs.testing == 'True' && inputs.platform == 'ubuntu-22.04' && inputs.build-type == 'Debug' && inputs.malloc-impl == 'libc' && inputs.prerelease == 'False' }} + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + gcov: true + if: ${{ inputs.testing == 'True' && inputs.platform == 'ubuntu-22.04' && inputs.build-type == 'Debug' && inputs.malloc-impl == 'libc' && inputs.prerelease == 'False' }} + + - name: Create and Test Package + run: | + sanitize=$([[ "${{ inputs.build-type }}" == "Debug" && \ + "${{ inputs.malloc-impl }}" == "libc" && \ + "${{ inputs.prerelease }}" == "True" ]] && \ + echo "True" || echo "False") + conan create \ + -o sisl:prerelease=${{ inputs.prerelease }} \ + -o sisl:malloc_impl=${{ inputs.malloc-impl }} \ + -o iomgr:testing=off \ + -o homestore:testing=min \ + -o homestore:sanitize=${sanitize} \ + -s build_type=${{ inputs.build-type }} \ + --build missing \ + . + if: ${{ inputs.testing == 'True' && ( inputs.platform != 'ubuntu-22.04' || inputs.build-type != 'Debug' || inputs.malloc-impl != 'libc' || inputs.prerelease != 'False' ) }} \ No newline at end of file diff --git a/.github/workflows/pr_conan_build.yml b/.github/workflows/pr_conan_build.yml index a16faae34..cf6366c31 100644 --- a/.github/workflows/pr_conan_build.yml +++ b/.github/workflows/pr_conan_build.yml @@ -5,6 +5,7 @@ on: branches: - master - stable/v3.x + - thin_provisioning jobs: Build: diff --git a/conanfile.py b/conanfile.py index 0fb9488de..61d77e40d 100644 --- a/conanfile.py +++ b/conanfile.py @@ -2,7 +2,7 @@ class HomestoreConan(ConanFile): name = "homestore" - version = "3.7.2" + version = "3.7.1" homepage = "https://github.corp.ebay.com/SDS/homestore" description = "HomeStore"