Skip to content

Merge pull request #38 from astroautomata/remove-memberid #150

Merge pull request #38 from astroautomata/remove-memberid

Merge pull request #38 from astroautomata/remove-memberid #150

name: CI (SR)
on:
pull_request:
branches:
- main
paths:
- symbolic_regression/**
- dynamic_expressions/**
- .cargo/**
- Cargo.toml
- codecov.yml
- .github/workflows/ci-symbolic-regression.yml
push:
branches:
- main
paths:
- symbolic_regression/**
- dynamic_expressions/**
- .cargo/**
- Cargo.toml
- codecov.yml
- .github/workflows/ci-symbolic-regression.yml
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
cargo-build:
name: cargo build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo build
run: cargo build -p symbolic_regression --all-targets --all-features
cargo-fmt:
name: cargo fmt
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust (rustfmt)
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rustfmt
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo fmt --check
run: cargo fmt --all --check
cargo-clippy:
name: cargo clippy
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust (clippy)
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo clippy
run: cargo clippy -p symbolic_regression --all-targets --all-features -- -D warnings
cargo-test:
name: cargo test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo test
run: cargo test -p symbolic_regression --all-targets --all-features
coverage:
name: coverage (codecov)
runs-on: ubuntu-latest
env:
HAS_CODECOV_ACCESS: ${{ secrets.CODECOV_TOKEN != '' }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust (llvm-tools)
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: llvm-tools-preview
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: Install cargo-llvm-cov
if: env.HAS_CODECOV_ACCESS == 'true'
uses: taiki-e/install-action@v2
with:
tool: cargo-llvm-cov
- name: Generate coverage (lcov)
if: env.HAS_CODECOV_ACCESS == 'true'
run: cargo llvm-cov -p symbolic_regression --all-features --all-targets --lcov --output-path lcov.info
- name: Run tests (no coverage token)
if: env.HAS_CODECOV_ACCESS != 'true'
run: cargo test -p symbolic_regression --all-targets --all-features
- name: Upload to Codecov
if: env.HAS_CODECOV_ACCESS == 'true'
uses: codecov/codecov-action@v5
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
cargo-doc:
name: cargo doc
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo doc
run: cargo doc -p symbolic_regression --all-features --no-deps
cargo-package:
name: cargo package
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo package symbolic_regression
run: cargo package -p symbolic_regression --no-verify