Merge remote-tracking branch 'origin/master' into fix-macos-regex

This commit is contained in:
Ryan Curtin
2022-11-03 09:03:02 -04:00
3 changed files with 70 additions and 45 deletions
+22 -17
View File
@@ -3,9 +3,11 @@ on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
release:
types: [published, created, edited]
permissions:
@@ -16,13 +18,13 @@ jobs:
jobR:
name: mlpack R tarball
if: ${{ github.repository == 'mlpack/mlpack' }}
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
outputs:
r_bindings: ${{ steps.mlpack_version.outputs.mlpack_r_package }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Extract mlpack version
id: mlpack_version
@@ -33,9 +35,11 @@ jobs:
MLPACK_VERSION_VALUE=${MLPACK_VERSION_MAJOR}.${MLPACK_VERSION_MINOR}.${MLPACK_VERSION_PATCH}
echo ::set-output name=mlpack_r_package::$(echo mlpack_"$MLPACK_VERSION_VALUE".tar.gz)
- uses: r-lib/actions/setup-r@master
with:
r-version: release
# Setup Pandoc
- uses: r-lib/actions/setup-pandoc@v2
# Setup R actions
- uses: r-lib/actions/setup-r@v2
- name: Query dependencies
run: |
@@ -44,7 +48,7 @@ jobs:
- name: Cache R packages
if: runner.os != 'Windows' && runner.os != 'macOS'
uses: actions/cache@v1
uses: actions/cache@v3
with:
path: ${{ env.R_LIBS_USER }}
key: ${{ runner.os }}-r-release-${{ hashFiles('depends.Rds') }}
@@ -76,7 +80,7 @@ jobs:
cd build && CTEST_OUTPUT_ON_FAILURE=1 ctest -T Test .
- name: Upload R packages
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: mlpack_r_tarball
path: build/src/mlpack/bindings/R/${{ steps.mlpack_version.outputs.mlpack_r_package }}
@@ -92,10 +96,9 @@ jobs:
fail-fast: false
matrix:
config:
- {os: windows-latest, r: '4.0', name: 'Windows R'}
- {os: macos-10.15, r: 'release', name: 'macOS R'}
- {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest", name: 'Linux R'}
- {os: windows-latest, r: 'release', name: 'Windows R'}
- {os: macOS-latest, r: 'release', name: 'macOS R'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release', name: 'Linux R'}
env:
MAKEFLAGS: "-j 2"
@@ -103,20 +106,22 @@ jobs:
R_CHECK_ARGS: "--no-build-vignettes"
_R_CHECK_FORCE_SUGGESTS: 0
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
RSPM: ${{ matrix.config.rspm }}
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/download-artifact@v2
with:
name: mlpack_r_tarball
- uses: r-lib/actions/setup-r@master
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
- uses: r-lib/actions/setup-pandoc@master
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- name: Query dependencies
run: Rscript -e "install.packages('remotes')" -e "saveRDS(remotes::dev_package_deps('${{ needs.jobR.outputs.r_bindings }}', dependencies = TRUE), 'depends.Rds')"
@@ -146,7 +151,7 @@ jobs:
- name: Upload check results
if: failure()
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
path: |
+9 -2
View File
@@ -7,7 +7,6 @@ src="https://cdn.rawgit.com/mlpack/mlpack.org/e7d36ed8/mlpack-black.svg" style="
<h5 align="center">
<a href="https://mlpack.org">Home</a> |
<a href="https://www.mlpack.org/docs.html">Documentation</a> |
<a href="https://www.mlpack.org/doc/mlpack-git/doxygen/index.html">Doxygen</a> |
<a href="https://www.mlpack.org/community.html">Community</a> |
<a href="https://www.mlpack.org/questions.html">Help</a> |
<a href="https://webchat.freenode.net/?channels=mlpack">IRC Chat</a>
@@ -47,7 +46,7 @@ programs, Python bindings, Julia bindings, Go bindings and R bindings.
- [mlpack homepage](https://www.mlpack.org/)
- [mlpack documentation](https://www.mlpack.org/docs.html)
- [Examples repository](https://github.com/mlpack/examples/)
- [Tutorials](https://www.mlpack.org/doc/mlpack-git/doxygen/tutorials.html)
- [Tutorials](doc/tutorials/README.md)
- [Development Site (Github)](https://www.github.com/mlpack/mlpack/)
[//]: # (numfocus-fiscal-sponsor-attribution)
@@ -129,6 +128,14 @@ cmake ../
sudo make install
```
Note: Since CMake v3.14.0 the `cmake` command can create the build folder itself.
The above commands can be rewritten as follows:
```sh
cmake -S . -B build
sudo cmake --build build --target install
```
You can add a few arguments to the `cmake` command to control the behavior of
the configuration and build process. Simply add these to the `cmake` command.
Some options are given below:
+39 -26
View File
@@ -1,11 +1,11 @@
// CLI11: Version 2.3.0
// CLI11: Version 2.3.1
// Originally designed by Henry Schreiner
// https://github.com/CLIUtils/CLI11
//
// This is a standalone header file generated by MakeSingleHeader.py in CLI11/scripts
// from: v2.3.0
// from: v2.3.1
//
// CLI11 2.3.0 Copyright (c) 2017-2022 University of Cincinnati, developed by Henry
// CLI11 2.3.1 Copyright (c) 2017-2022 University of Cincinnati, developed by Henry
// Schreiner under NSF AWARD 1414736. All rights reserved.
//
// Redistribution and use in source and binary forms of CLI11, with or without
@@ -34,34 +34,34 @@
#pragma once
// Standard combined includes:
#include <iterator>
#include <fstream>
#include <tuple>
#include <iostream>
#include <cstdint>
#include <algorithm>
#include <stdexcept>
#include <map>
#include <iomanip>
#include <utility>
#include <vector>
#include <functional>
#include <locale>
#include <string>
#include <cmath>
#include <numeric>
#include <cstdint>
#include <iomanip>
#include <memory>
#include <sstream>
#include <exception>
#include <stdexcept>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>
#include <sstream>
#include <cmath>
#include <type_traits>
#include <set>
#include <limits>
#include <set>
#include <utility>
#include <map>
#include <iostream>
#include <numeric>
#include <fstream>
#include <tuple>
#define CLI11_VERSION_MAJOR 2
#define CLI11_VERSION_MINOR 3
#define CLI11_VERSION_PATCH 0
#define CLI11_VERSION "2.3.0"
#define CLI11_VERSION_PATCH 1
#define CLI11_VERSION "2.3.1"
@@ -2671,7 +2671,7 @@ class Config {
if(item.inputs.empty()) {
return "{}";
}
throw ConversionError::TooManyInputsFlag(item.fullname());
throw ConversionError::TooManyInputsFlag(item.fullname()); // LCOV_EXCL_LINE
}
/// Parse a config file, throw an error (ParseError:ConfigParseError or FileError) on failure
@@ -3478,7 +3478,7 @@ class AsNumberWithUnit : public Validator {
// transform function
func_ = [mapping, opts](std::string &input) -> std::string {
Number num;
Number num{};
detail::rtrim(input);
if(input.empty()) {
@@ -3742,7 +3742,7 @@ CLI11_INLINE path_type check_path(const char *file) noexcept {
return path_type::nonexistent;
}
switch(stat.type()) {
case std::filesystem::file_type::none:
case std::filesystem::file_type::none: // LCOV_EXCL_LINE
case std::filesystem::file_type::not_found:
return path_type::nonexistent;
case std::filesystem::file_type::directory:
@@ -3993,6 +3993,8 @@ class FormatterBase {
FormatterBase() = default;
FormatterBase(const FormatterBase &) = default;
FormatterBase(FormatterBase &&) = default;
FormatterBase &operator=(const FormatterBase &) = default;
FormatterBase &operator=(FormatterBase &&) = default;
/// Adding a destructor in this form to work around bug in GCC 4.7
virtual ~FormatterBase() noexcept {} // NOLINT(modernize-use-equals-default)
@@ -4054,6 +4056,8 @@ class Formatter : public FormatterBase {
Formatter() = default;
Formatter(const Formatter &) = default;
Formatter(Formatter &&) = default;
Formatter &operator=(const Formatter &) = default;
Formatter &operator=(Formatter &&) = default;
/// @name Overridables
///@{
@@ -7307,6 +7311,15 @@ CLI11_NODISCARD CLI11_INLINE CLI::App_p App::get_subcommand_ptr(int index) const
throw OptionNotFound(std::to_string(index));
}
CLI11_NODISCARD CLI11_INLINE CLI::App *App::get_option_group(std::string group_name) const {
for(const App_p &app : subcommands_) {
if(app->name_.empty() && app->group_ == group_name) {
return app.get();
}
}
throw OptionNotFound(group_name);
}
CLI11_NODISCARD CLI11_INLINE std::size_t App::count_all() const {
std::size_t cnt{0};
for(const auto &opt : options_) {
@@ -9469,7 +9482,7 @@ CLI11_INLINE std::string Formatter::make_footer(const App *app) const {
if(footer.empty()) {
return std::string{};
}
return footer + "\n";
return "\n" + footer + "\n";
}
CLI11_INLINE std::string Formatter::make_help(const App *app, std::string name, AppFormatMode mode) const {
@@ -9491,7 +9504,7 @@ CLI11_INLINE std::string Formatter::make_help(const App *app, std::string name,
out << make_positionals(app);
out << make_groups(app, mode);
out << make_subcommands(app, mode);
out << '\n' << make_footer(app);
out << make_footer(app);
return out.str();
}