diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5fe31bd..bcef7d5 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -23,8 +23,10 @@ jobs: - name: Get tags run: | cd ./libs/igraph + git fetch --prune --unshallow echo exit code $? git tag --list + continue-on-error: true ######################################################################################## make: @@ -33,13 +35,23 @@ jobs: strategy: fail-fast: false matrix: - machine: [x64_linux, arm64_linux] + machine: [x64_linux] leiden: [true] + platform: [avx2] + compiler: [g++-13] include: + - machine: arm64_linux + leiden: true + platform: arm8 + compiler: g++-12 - machine: x64_mac leiden: false + platform: avx2 + compiler: g++-13 - machine: arm64_mac leiden: false + platform: m1 + compiler: g++-13 runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] @@ -47,7 +59,7 @@ jobs: - name: make run: | make clean - make -j32 CXX=g++-12 STATIC_LINK=true LEIDEN=${{ matrix.leiden }} + make -j32 CXX=${{matrix.compiler}} STATIC_LINK=true LEIDEN=${{ matrix.leiden }} PLATFORM=${{ matrix.platform }} - name: tar artifacts run: tar -cvzf clusty.tar.gz clusty LICENSE diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c932952..7494279 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,7 +20,7 @@ jobs: runs-on: ['${{ matrix.machine }}'] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: recursive @@ -37,7 +37,7 @@ jobs: - name: tar artifacts run: tar -cvf clusty.tar ./clusty-${{matrix.compiler}} ./test/cmp.py ./test/vir61.* - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: executable-artifact-${{ matrix.machine }} path: ./clusty.tar @@ -57,7 +57,7 @@ jobs: runs-on: ['${{ matrix.machine }}'] steps: - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v4 with: name: executable-artifact-${{ matrix.machine }} path: ./ diff --git a/.github/workflows/self-hosted.yml b/.github/workflows/self-hosted.yml index 9e9be2f..f0332e3 100644 --- a/.github/workflows/self-hosted.yml +++ b/.github/workflows/self-hosted.yml @@ -15,7 +15,7 @@ jobs: name: Checkout strategy: matrix: - machine: [xeon, mac-i7, mac-m1] + machine: [x64_linux, x64_mac, arm64_linux, arm64_mac] runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] steps: @@ -25,9 +25,10 @@ jobs: - name: Get tags run: | cd ./libs/igraph - #git fetch --prune --unshallow --tags + git fetch --prune --unshallow echo exit code $? git tag --list + continue-on-error: true ######################################################################################## @@ -37,38 +38,30 @@ jobs: strategy: fail-fast: false matrix: - machine: [xeon, mac-i7, mac-m1] - compiler: [g++-11] + machine: [x64_linux, x64_mac, arm64_linux, arm64_mac] + compiler: [g++-11, g++-12, g++-13] + include: + - machine: x64_linux + platform: avx2 + - machine: arm64_linux + platform: arm8 + - machine: x64_mac + platform: avx2 + - machine: arm64_mac + platform: m1 + exclude: + - machine: arm64_linux + compiler: g++-13 runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] steps: - name: make run: | - make -j32 CXX=${{matrix.compiler}} + make -j32 CXX=${{matrix.compiler}} PLATFORM=${{ matrix.platform }} cp ./clusty ./clusty-${{matrix.compiler}} make clean - ######################################################################################## - make-leiden: - name: make (Leiden) - - needs: checkout - strategy: - fail-fast: false - matrix: - machine: [xeon] - compiler: [g++-11] - - runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] - - steps: - - name: make - run: | - make -j32 CXX=${{matrix.compiler}} LEIDEN=true - cp ./clusty ./clusty-leiden-${{matrix.compiler}} - make clean - ######################################################################################## toy: name: Toy example @@ -76,9 +69,12 @@ jobs: strategy: fail-fast: false matrix: - machine: [xeon, mac-i7, mac-m1] - compiler: [g++-11] + machine: [x64_linux, x64_mac, arm64_linux, arm64_mac] + compiler: [g++-11, g++-12, g++-13] algo: [single] + exclude: + - machine: arm64_linux + compiler: g++-13 runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] @@ -96,10 +92,13 @@ jobs: strategy: fail-fast: false matrix: - machine: [xeon, mac-i7, mac-m1] - compiler: [g++-11] + machine: [x64_linux, x64_mac, arm64_linux, arm64_mac] + compiler: [g++-11, g++-12, g++-13] algo: [single, complete] threshold: [95, 70] + exclude: + - machine: arm64_linux + compiler: g++-13 runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] @@ -116,10 +115,13 @@ jobs: strategy: fail-fast: false matrix: - machine: [xeon, mac-i7, mac-m1] - compiler: [g++-11] + machine: [x64_linux, x64_mac, arm64_linux, arm64_mac] + compiler: [g++-11, g++-12, g++-13] algo: [single, complete] threshold: [95, 70] + exclude: + - machine: arm64_linux + compiler: g++-13 runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] @@ -151,10 +153,13 @@ jobs: strategy: fail-fast: false matrix: - machine: [xeon, mac-i7, mac-m1] - compiler: [g++-11] + machine: [x64_linux, x64_mac, arm64_linux, arm64_mac] + compiler: [g++-11, g++-12, g++-13] algo: [single, complete, uclust, set-cover, cd-hit] threshold: [70] + exclude: + - machine: arm64_linux + compiler: g++-13 runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] @@ -173,18 +178,49 @@ jobs: run: | ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.num ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num --out-representatives --numeric-ids cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.csv + + + ######################################################################################## + make-leiden: + name: Make (Leiden) + + needs: ictv-all + strategy: + fail-fast: false + matrix: + machine: [x64_linux, arm64_linux] + include: + - machine: x64_linux + compiler: g++-13 + platform: avx2 + - machine: arm64_linux + compiler: g++-12 + platform: arm8 + + runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] + + steps: + - name: make + run: | + make -j32 CXX=${{matrix.compiler}} LEIDEN=true PLATFORM=${{ matrix.platform }} + cp ./clusty ./clusty-leiden-${{matrix.compiler}} + make clean ######################################################################################## ictv-leiden: - name: ICTV (leiden) + name: ICTV (Leiden) needs: make-leiden strategy: fail-fast: false matrix: - machine: [xeon] - compiler: [g++-11] + machine: [x64_linux, arm64_linux] algo: [leiden] threshold: [70] + include: + - machine: x64_linux + compiler: g++-13 + - machine: arm64_linux + compiler: g++-12 runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] diff --git a/src/version.h b/src/version.h index 1cedc35..4c58389 100644 --- a/src/version.h +++ b/src/version.h @@ -8,12 +8,15 @@ // // ******************************************************************************************* -#define VERSION "1.0.2" -#define DATE "2024-08-29" +#define VERSION "1.0.3" +#define DATE "2024-09-12" /********* Version history ********* + 1.0.3 (2024-09-12) + Fixes in building scripts. + 1.0.2 (2024-08-29) Fixed crash in reading very large input matrices. Reduced memory requirements. @@ -25,4 +28,4 @@ 1.0.0 (2024-06-26) First public release - */ \ No newline at end of file + */