bioconda / bioconda-recipes

Conda recipes for the bioconda channel.
https://bioconda.github.io
MIT License
1.65k stars 3.29k forks source link

cobs: add aarch64/arm64 builds #52350

Closed martin-g closed 1 day ago

martin-g commented 1 day ago

Describe your pull request here


Please read the guidelines for Bioconda recipes before opening a pull request (PR).

General instructions

Instructions for avoiding API, ABI, and CLI breakage issues

Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes. This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe. If not already present in the meta.yaml, make sure to specify run_exports (see here for the rationale and comprehensive explanation). Add a run_exports section like this:

build:
  run_exports:
    - ...

with ... being one of:

Case run_exports statement
semantic versioning {{ pin_subpackage("myrecipe", max_pin="x") }}
semantic versioning (0.x.x) {{ pin_subpackage("myrecipe", max_pin="x.x") }}
known breakage in minor versions {{ pin_subpackage("myrecipe", max_pin="x.x") }} (in such a case, please add a note that shortly mentions your evidence for that)
known breakage in patch versions {{ pin_subpackage("myrecipe", max_pin="x.x.x") }} (in such a case, please add a note that shortly mentions your evidence for that)
calendar versioning {{ pin_subpackage("myrecipe", max_pin=None) }}

while replacing "myrecipe" with either name if a name|lower variable is defined in your recipe or with the lowercase name of the package in quotes.

Bot commands for PR management

Please use the following BiocondaBot commands: Everyone has access to the following BiocondaBot commands, which can be given in a comment:
@BiocondaBot please update Merge the master branch into a PR.
@BiocondaBot please add label Add the please review & merge label.
@BiocondaBot please fetch artifacts Post links to CI-built packages/containers.
You can use this to test packages locally.
Note that the @BiocondaBot please merge command is now depreciated. Please just squash and merge instead. Also, the bot watches for comments from non-members that include `@bioconda/` and will automatically re-post them to notify the addressed ``.
martin-g commented 1 day ago

Some tests fail on OSX ARM64:

11:43:40 BIOCONDA INFO (OUT) x subsampled_integration_test/COBS_out/neisseria_gonorrhoeae__01.cobs_classic
11:43:40 BIOCONDA INFO (OUT) [ RUN      ] mof_integration.queries__mof_tests
11:43:40 BIOCONDA INFO (OUT) DIE: Assertion "page_size == 4096" failed! @ $SRC_DIR/cobs/util/misc.cpp:43
11:43:40 BIOCONDA INFO (OUT) libc++abi: terminating
11:43:40 BIOCONDA INFO (OUT) 
11:43:40 BIOCONDA INFO (OUT)       Start 37: non_acgt_test.non_acgt_test_main_test
11:43:40 BIOCONDA INFO (OUT) 37/44 Test #37: non_acgt_test.non_acgt_test_main_test ...................................Subprocess aborted***Exception:   0.01 sec
11:43:40 BIOCONDA INFO (OUT) Running main() from $SRC_DIR/extlib/googletest/googletest/src/gtest_main.cc
11:43:40 BIOCONDA INFO (OUT) Note: Google Test filter = non_acgt_test.non_acgt_test_main_test
11:43:40 BIOCONDA INFO (OUT) [==========] Running 1 test from 1 test suite.
11:43:40 BIOCONDA INFO (OUT) [----------] Global test environment set-up.
11:43:40 BIOCONDA INFO (OUT) [----------] 1 test from non_acgt_test
11:43:40 BIOCONDA INFO (OUT) [ RUN      ] non_acgt_test.non_acgt_test_main_test
11:43:40 BIOCONDA INFO (OUT) DIE: Assertion "page_size == 4096" failed! @ $SRC_DIR/cobs/util/misc.cpp:43
11:43:40 BIOCONDA INFO (OUT) libc++abi: terminating
11:43:40 BIOCONDA INFO (OUT) 
11:43:40 BIOCONDA INFO (OUT)       Start 38: parameters.false_positive
11:43:40 BIOCONDA INFO (OUT) 38/44 Test #38: parameters.false_positive ...............................................   Passed    0.02 sec
11:43:40 BIOCONDA INFO (OUT)       Start 39: parameters.false_positive_hash
11:43:40 BIOCONDA INFO (OUT) 39/44 Test #39: parameters.false_positive_hash ..........................................   Passed    0.02 sec
11:43:40 BIOCONDA INFO (OUT)       Start 40: parameters.canonical
11:43:40 BIOCONDA INFO (OUT) 40/44 Test #40: parameters.canonical ....................................................   Passed    0.01 sec
11:43:40 BIOCONDA INFO (OUT)       Start 41: text.process_txt1
11:43:40 BIOCONDA INFO (OUT) 41/44 Test #41: text.process_txt1 .......................................................   Passed    0.01 sec
11:43:40 BIOCONDA INFO (OUT)       Start 42: text.document_list
11:43:40 BIOCONDA INFO (OUT) 42/44 Test #42: text.document_list ......................................................   Passed    0.00 sec
11:43:40 BIOCONDA INFO (OUT)       Start 43: util.allocate_aligned
11:43:40 BIOCONDA INFO (OUT) 43/44 Test #43: util.allocate_aligned ...................................................Subprocess aborted***Exception:   0.00 sec
11:43:40 BIOCONDA INFO (OUT) Running main() from $SRC_DIR/extlib/googletest/googletest/src/gtest_main.cc
11:43:40 BIOCONDA INFO (OUT) Note: Google Test filter = util.allocate_aligned
11:43:40 BIOCONDA INFO (OUT) [==========] Running 1 test from 1 test suite.
11:43:40 BIOCONDA INFO (OUT) [----------] Global test environment set-up.
11:43:40 BIOCONDA INFO (OUT) [----------] 1 test from util
11:43:40 BIOCONDA INFO (OUT) [ RUN      ] util.allocate_aligned
11:43:40 BIOCONDA INFO (OUT) DIE: Assertion "page_size == 4096" failed! @ $SRC_DIR/cobs/util/misc.cpp:43
11:43:40 BIOCONDA INFO (OUT) libc++abi: terminating
11:43:40 BIOCONDA INFO (OUT) 
11:43:40 BIOCONDA INFO (OUT)       Start 44: util.kmer_canonicalize
11:43:40 BIOCONDA INFO (OUT) 44/44 Test #44: util.kmer_canonicalize ..................................................   Passed    0.00 sec
11:43:40 BIOCONDA INFO (OUT) 
11:43:40 BIOCONDA INFO (OUT) 64% tests passed, 16 tests failed out of 44
11:43:40 BIOCONDA INFO (OUT) 
11:43:40 BIOCONDA INFO (OUT) Total Test time (real) =   6.87 sec
11:43:40 BIOCONDA INFO (OUT) 
11:43:40 BIOCONDA INFO (OUT) The following tests FAILED:
11:43:40 BIOCONDA INFO (OUT)     2 - classic_index_construction.combine (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)     5 - classic_index_query.all_included_small_batch (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)     6 - classic_index_query.one_included_small_batch (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)     7 - classic_index_query.one_included_large_batch (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)     8 - classic_index_query.false_positive (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)     9 - classic_index_query.one_included_large_batch_multi_index (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    12 - compact_index_query.all_included_mmap_small (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    13 - compact_index_query.all_included_mmap (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    14 - compact_index_query.one_included_mmap (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    15 - compact_index_query.false_positive_mmap (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    22 - fasta.document_list (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    26 - fasta_multi.document_list (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    28 - fastq.document_list (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    36 - mof_integration.queries__mof_tests (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    37 - non_acgt_test.non_acgt_test_main_test (Subprocess aborted)
11:43:40 BIOCONDA INFO (OUT)    43 - util.allocate_aligned (Subprocess aborted)
martin-g commented 1 day ago

@BiocondaBot please fetch artifacts

BiocondaBot commented 1 day ago

Package(s) built are ready for inspection:

Arch Package Zip File / Repodata CI Instructions
linux-64 cobs-0.3.1-hdcf5f25_1.tar.bz2 linux-64.zip GitHub Actions
showYou may also use conda to install after downloading and extracting the zip file. conda install -c ./packages <package name>
osx-64 cobs-0.3.1-h63051a7_1.tar.bz2 osx-64.zip GitHub Actions
showYou may also use conda to install after downloading and extracting the zip file. conda install -c ./packages <package name>
linux-aarch64 cobs-0.3.1-h7f4e536_1.tar.bz2 repodata.json CircleCI
showYou may also use conda to install:conda install -c https://output.circle-artifacts.com/output/job/ec25e75f-6d92-4ff3-9aff-95ef3f7ae690/artifacts/0/tmp/artifacts/packages <package name>

Docker image(s) built:

Package Tag CI Install with docker
cobs 0.3.1--hdcf5f25_1 GitHub Actions
showImages are in the linux-64 zip file above.gzip -dc images/cobs---0.3.1--hdcf5f25_1.tar.gz \| docker load
martin-g commented 1 day ago
mgrigorov in 🌐 euler-arm-22 in /tmp via 🅒 test123 
❯ tar xvf cobs-0.3.1-h7f4e536_1.tar.bz2                                                                                                                                                                    (test123) 
info/test/run_test.sh
info/run_exports.json
info/hash_input.json
info/index.json
info/recipe/build.sh
info/recipe/meta.yaml.template
info/licenses/LICENSE
info/has_prefix
info/recipe/meta.yaml
info/recipe/conda_build_config.yaml
info/files
info/about.json
info/paths.json
info/git
info/recipe/cobs-aarch64.patch
include/gmock/internal/custom/gmock-generated-actions.h
include/gtest/internal/custom/gtest.h
include/gtest/internal/custom/gtest-port.h
include/gmock/internal/custom/gmock-matchers.h
include/gmock/internal/custom/gmock-port.h
include/gtest/internal/custom/gtest-printers.h
include/gtest/gtest_prod.h
include/gmock/gmock-more-matchers.h
include/gmock/gmock.h
include/gtest/internal/gtest-port-arch.h
include/gmock/internal/gmock-port.h
include/gmock/gmock-cardinalities.h
include/gtest/internal/gtest-type-util.h
include/gtest/gtest-test-part.h
include/gtest/internal/gtest-string.h
include/gtest/gtest-message.h
include/gtest/gtest-assertion-result.h
include/gtest/internal/gtest-filepath.h
include/gmock/gmock-nice-strict.h
include/gtest/gtest_pred_impl.h
include/gtest/gtest-spi.h
include/xxhash.h
include/gmock/internal/gmock-pp.h
include/gtest/internal/gtest-death-test-internal.h
include/gtest/gtest-death-test.h
include/gtest/gtest-typed-test.h
include/gmock/internal/gmock-internal-utils.h
include/gtest/gtest-param-test.h
include/gmock/gmock-function-mocker.h
include/gtest/gtest-matchers.h
include/gtest/internal/gtest-param-util.h
include/gtest/gtest-printers.h
include/gmock/gmock-more-actions.h
include/gtest/internal/gtest-internal.h
include/gmock/gmock-spec-builders.h
include/gmock/gmock-actions.h
include/gtest/internal/gtest-port.h
include/gtest/gtest.h
include/gmock/gmock-matchers.h
include/tlx/simple_vector.hpp
include/tlx/timestamp.hpp
include/tlx/string/format_si_iec_units.hpp
include/tlx/unused.hpp
include/tlx/port.hpp
include/tlx/string/pad.hpp
include/tlx/vector_free.hpp
include/tlx/string/union_words.hpp
include/tlx/sort.hpp
include/tlx/port/setenv.hpp
include/tlx/digest.hpp
include/tlx/meta/enable_if.hpp
include/tlx/define/likely.hpp
include/tlx/string/format_si_units.hpp
include/tlx/meta/is_std_vector.hpp
include/tlx/meta/is_std_tuple.hpp
include/tlx/meta/is_std_pair.hpp
include/tlx/string/format_iec_units.hpp
include/tlx/meta/is_std_array.hpp
include/tlx/math/abs_diff.hpp
include/tlx/meta/vexpand.hpp
include/tlx/define/attribute_packed.hpp
include/tlx/math/sgn.hpp
include/tlx/define/visibility_hidden.hpp
include/tlx/meta/static_index.hpp
include/tlx/string/word_wrap.hpp
include/tlx/define/attribute_always_inline.hpp
include/tlx/string/appendline.hpp
include/tlx/string/escape_uri.hpp
include/tlx/logger/all.hpp
include/tlx/math/div_ceil.hpp
include/tlx/math/round_up.hpp
include/tlx/string/escape_html.hpp
include/tlx/define/attribute_warn_unused_result.hpp
include/tlx/define/attribute_format_printf.hpp
include/tlx/define/attribute_fallthrough.hpp
include/tlx/string/contains.hpp
include/tlx/logger/array.hpp
include/tlx/logger/deque.hpp
include/tlx/define/deprecated.hpp
include/tlx/define.hpp
include/tlx/string/split_words.hpp
include/tlx/string/to_upper.hpp
include/tlx/string/to_lower.hpp
include/tlx/algorithm.hpp
include/tlx/logger.hpp
include/tlx/meta/no_operation.hpp
include/tlx/string/equal_icase.hpp
include/tlx/string/ssprintf.hpp
include/tlx/math/power_to_the.hpp
include/tlx/string/compare_icase.hpp
include/tlx/container.hpp
include/tlx/math.hpp
include/tlx/string/join_quoted.hpp
include/tlx/version.hpp
include/tlx/string/split_quoted.hpp
include/tlx/logger/tuple.hpp
include/tlx/string/parse_si_iec_units.hpp
include/tlx/sort/networks/cswap.hpp
include/tlx/logger/set.hpp
include/tlx/string/index_of.hpp
include/tlx/backtrace.hpp
include/tlx/meta/index_sequence.hpp
include/tlx/string/expand_environment_variables.hpp
include/tlx/algorithm/is_sorted_cmp.hpp
include/tlx/meta/apply_tuple.hpp
include/tlx/algorithm/exclusive_scan.hpp
include/tlx/logger/unordered_set.hpp
include/tlx/meta/log2.hpp
include/tlx/logger/map.hpp
include/tlx/meta/call_foreach.hpp
include/tlx/string/contains_word.hpp
include/tlx/meta/call_foreach_tuple.hpp
include/tlx/string/join.hpp
include/tlx/string/less_icase.hpp
include/tlx/meta.hpp
include/tlx/math/is_power_of_two.hpp
include/tlx/meta/fold_left_tuple.hpp
include/tlx/meta/vmap_foreach_tuple.hpp
include/tlx/meta/fold_right_tuple.hpp
include/tlx/meta/call_foreach_tuple_with_index.hpp
include/tlx/logger/unordered_map.hpp
include/tlx/math/bswap_be.hpp
include/tlx/math/bswap_le.hpp
include/tlx/meta/vmap_foreach.hpp
include/tlx/string/split_view.hpp
include/tlx/define/endian.hpp
include/tlx/meta/fold_left.hpp
include/tlx/meta/vmap_foreach_tuple_with_index.hpp
include/tlx/meta/fold_right.hpp
include/tlx/string/parse_uri.hpp
include/tlx/meta/call_foreach_with_index.hpp
include/tlx/meta/call_for_range.hpp
include/tlx/string/hash_sdbm.hpp
include/tlx/string/hash_djb2.hpp
include/tlx/algorithm/merge_combine.hpp
include/tlx/string/extract_between.hpp
include/tlx/logger/wrap_unprintable.hpp
include/tlx/meta/vmap_foreach_with_index.hpp
include/tlx/string/starts_with.hpp
include/tlx/digest/md5.hpp
include/tlx/digest/sha1.hpp
include/tlx/string/ends_with.hpp
include/tlx/string.hpp
include/tlx/meta/vmap_for_range.hpp
include/tlx/string/ssprintf_generic.hpp
include/tlx/digest/sha256.hpp
include/tlx/digest/sha512.hpp
include/tlx/allocator_base.hpp
include/tlx/string/erase_all.hpp
include/tlx/math/rol.hpp
include/tlx/math/ror.hpp
include/tlx/math/aggregate_min_max.hpp
include/tlx/string/join_generic.hpp
include/tlx/thread_barrier_mutex.hpp
include/tlx/meta/has_member.hpp
include/tlx/math/ffs.hpp
include/tlx/string/base64.hpp
include/tlx/semaphore.hpp
include/tlx/math/round_to_power_of_two.hpp
include/tlx/math/bswap.hpp
include/tlx/math/ctz.hpp
include/tlx/math/clz.hpp
include/tlx/string/parse_uri_form_data.hpp
include/tlx/thread_barrier_spin.hpp
include/tlx/die.hpp
include/tlx/algorithm/random_bipartition_shuffle.hpp
include/tlx/string/hexdump.hpp
include/tlx/string/bitdump.hpp
include/tlx/math/popcount.hpp
include/tlx/multi_timer.hpp
include/tlx/math/integer_log2.hpp
include/tlx/thread_pool.hpp
include/tlx/meta/has_method.hpp
include/tlx/sort/strings/multikey_quicksort.hpp
include/tlx/stack_allocator.hpp
include/tlx/algorithm/merge_advance.hpp
include/tlx/string/levenshtein.hpp
include/tlx/meta/function_chain.hpp
include/tlx/meta/function_stack.hpp
include/tlx/math/aggregate.hpp
include/tlx/math/polynomial_regression.hpp
include/tlx/string/trim.hpp
include/tlx/logger/core.hpp
include/tlx/sort/strings/insertion_sort.hpp
include/tlx/container/simple_vector.hpp
include/tlx/container/d_ary_heap.hpp
include/tlx/siphash.hpp
include/tlx/string/split.hpp
include/tlx/container/lru_cache.hpp
include/tlx/algorithm/multiway_merge_splitting.hpp
include/tlx/algorithm/multisequence_selection.hpp
include/tlx/algorithm/multisequence_partition.hpp
include/tlx/sort/strings_parallel.hpp
include/tlx/container/splay_tree.hpp
include/tlx/container/ring_buffer.hpp
include/tlx/string/replace.hpp
include/tlx/sort/strings.hpp
include/tlx/sort/strings/string_ptr.hpp
include/tlx/sort/networks/bose_nelson.hpp
include/tlx/container/d_ary_addressable_int_heap.hpp
include/tlx/die/core.hpp
include/tlx/sort/parallel_mergesort.hpp
include/tlx/counting_ptr.hpp
include/tlx/sort/networks/best.hpp
include/tlx/delegate.hpp
include/tlx/algorithm/parallel_multiway_merge.hpp
include/tlx/container/btree_set.hpp
include/tlx/container/btree_multiset.hpp
include/tlx/container/btree_multimap.hpp
include/tlx/container/btree_map.hpp
include/tlx/sort/networks/bose_nelson_parameter.hpp
include/tlx/container/string_view.hpp
include/tlx/cmdline_parser.hpp
include/tlx/sort/strings/string_set.hpp
include/tlx/container/radix_heap.hpp
include/tlx/sort/strings/sample_sort_tools.hpp
include/tlx/container/loser_tree.hpp
include/tlx/sort/strings/radix_sort.hpp
include/tlx/algorithm/multiway_merge.hpp
include/tlx/sort/strings/parallel_sample_sort.hpp
include/tlx/container/btree.hpp
include/gmock/internal/custom/README.md
include/gtest/internal/custom/README.md
share/man/man1/xxhsum.1
lib/libgtest_main.a
lib/libgmock_main.a
lib/libxxhash.a
lib/libgmock.a
lib/libgtest.a
lib/libtlx.a
lib/cmake/tlx/tlx-version.cmake
lib/cmake/tlx/tlx-targets-release.cmake
lib/cmake/GTest/GTestConfig.cmake
lib/cmake/tlx/tlx-config.cmake
lib/cmake/GTest/GTestConfigVersion.cmake
lib/cmake/GTest/GTestTargets-release.cmake
lib/cmake/tlx/tlx-targets.cmake
lib/cmake/GTest/GTestTargets.cmake
bin/xxhsum
bin/cobs
lib/pkgconfig/tlx.pc
lib/pkgconfig/gtest.pc
lib/pkgconfig/gmock.pc
lib/pkgconfig/gtest_main.pc
lib/pkgconfig/gmock_main.pc

mgrigorov in 🌐 euler-arm-22 in /tmp via 🅒 test123 
❯ ./bin/cobs  
(Co)mpact (B)it-Sliced (S)ignature Index for Genome Search (version 0.3.1)

Usage: /tmp/cccc/bin/cobs <subtool> ...

Available subtools: 
  doc-list                   read a list of documents and print the list
  doc-dump                   read a list of documents and dump their contents
  classic-construct          constructs a classic index from the documents in <in_dir>
  classic-construct-random   constructs a classic index with random content
  compact-construct          creates the folders used for further construction
  compact-construct-combine  combines the classic indices in <in_dir> to form a compact index
  classic-combine            combines the classic indices in <in_dir>
  query                      query an index
  print-parameters           calculates index parameters
  print-kmers                print all canonical kmers from <query>
  benchmark-fpr              run benchmark and false positive measurement
  generate-queries           select queries randomly from documents
  version                    prints version and exit

See https://panthema.net/cobs for more information on COBS.

LGTM!

martin-g commented 1 day ago

@BiocondaBot please add label