Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions ,gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# =============================================================================
# RF-SIC .gitattributes
# =============================================================================

# Normalise line endings
* text=auto eol=lf

# Explicit text types
*.rs text eol=lf
*.toml text eol=lf
*.py text eol=lf
*.md text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.tex text eol=lf
*.m text eol=lf
*.json text eol=lf
.gitignore text eol=lf

# Binary types — never attempt diff or EOL conversion
*.iq binary
*.sigmf-data binary
*.snp binary
*.h5 binary
*.hdf5 binary
*.mat binary
*.pdf binary
*.png binary
*.jpg binary
*.svg text

# Jupyter notebooks — strip outputs on commit via nbstripout filter
*.ipynb filter=nbstripout diff=jupyternotebook merge=jupyternotebook
*.ipynb linguist-language=Jupyter

# Cargo.lock — mark as generated, collapse in PRs
Cargo.lock linguist-generated=true

# LaTeX-generated PDFs — treat as binary, don't show diff
docs/latex/*.pdf binary

# GitHub Linguist overrides — keep RF-SIC stats accurate
rust-backend/src/**/*.rs linguist-language=Rust
python-backend/**/*.py linguist-language=Python
matlab-octave/**/*.m linguist-language=MATLAB
45 changes: 29 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,39 @@
## This will test all three release channels (note a failure in any toolchain version will fail the entire job).

name: Cargo Build & Test

on:
push:
pull_request:

env:
CARGO_TERM_COLOR: always

jobs:
build_and_test:
name: Rust project - latest
runs-on: ubuntu-latest

strategy:
matrix:
toolchain:
- stable
- beta

steps:
- uses: actions/checkout@v3
- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
- run: cargo build --verbose
- run: cargo test --verbose
- uses: actions/checkout@v4

- name: Install native dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
pkg-config \
libglib2.0-dev \
libatk1.0-dev \
libgtk-3-dev

- name: Set Rust toolchain
run: |
rustup update ${{ matrix.toolchain }}
rustup default ${{ matrix.toolchain }}

- name: Verify pkg-config dependencies
run: |
pkg-config --modversion glib-2.0
pkg-config --modversion gobject-2.0
pkg-config --modversion atk

- name: Build
run: cargo build --verbose

- name: Test
run: cargo test --verbose
Loading
Loading