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
6 changes: 6 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Revisions listed here are skipped by `git blame`.
# GitHub honors this file automatically. Locally, enable it with:
# git config blame.ignoreRevsFile .git-blame-ignore-revs

# Normalize line endings to LF via .gitattributes (no content changes)
659fb36bec08d6bde072efe982ddc63303ba6103

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Point the blame-ignore entry at this normalization commit

When this proposed commit is merged, the normalization revision will be f977d787…, but this entry names the sibling commit 659fb36…, which is not an ancestor of it. Consequently, git blame --ignore-revs-file .git-blame-ignore-revs f977d787 -- src/types.jl still attributes the normalized lines to f977d787, defeating the stated purpose of the file; record this commit's actual hash instead.

Useful? React with 👍 / 👎.

13 changes: 13 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Line-ending policy lives here, not in each contributor's core.autocrlf.
# `text=auto` canonicalizes every file git detects as text to LF *in the
# repository*; working trees may still use CRLF on Windows if that's the
# local preference.
* text=auto

# Binary fixtures. These are byte-compared by the round-trip tests, so make
# their exemption explicit rather than relying on git's NUL-byte heuristic.
# (`binary` is shorthand for `-text -diff`.)
*.dbn binary
*.dbz binary
*.zst binary
*.frag binary
220 changes: 110 additions & 110 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,110 +1,110 @@
name: CI
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
workflow_dispatch:
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.12' # Minimum supported version
- '1' # Latest stable
os:
- ubuntu-latest
- macOS-latest
- windows-latest
steps:
- uses: actions/checkout@v7
# Install Rust for compatibility tests with official dbn-cli
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
# Cache Rust dependencies (Unix)
- name: Cache Rust dependencies (Unix)
if: runner.os != 'Windows'
uses: actions/cache@v6
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~/dbn-workspace/dbn/target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
# Cache Rust dependencies (Windows)
- name: Cache Rust dependencies (Windows)
if: runner.os == 'Windows'
uses: actions/cache@v6
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~\dbn-workspace\dbn\target\
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
# Clone and build official dbn for compatibility tests
- name: Build dbn (Unix)
if: runner.os != 'Windows'
run: |
mkdir -p $HOME/dbn-workspace
if [ ! -f "$HOME/dbn-workspace/dbn/Cargo.toml" ]; then
rm -rf $HOME/dbn-workspace/dbn
git clone --depth 1 https://github.com/databento/dbn $HOME/dbn-workspace/dbn
fi
cd $HOME/dbn-workspace/dbn
cargo build --release
- name: Build dbn (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
$workspace = "$env:USERPROFILE\dbn-workspace"
New-Item -ItemType Directory -Force -Path $workspace | Out-Null
if (-not (Test-Path "$workspace\dbn\Cargo.toml")) {
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$workspace\dbn"
git clone --depth 1 https://github.com/databento/dbn "$workspace\dbn"
}
cd "$workspace\dbn"
cargo build --release
- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.version }}
# Omit `arch` so setup-julia picks the runner's native arch
# (macOS-latest is now arm64; setup-julia@v3 errors hard if we
# force x64 on an arm64 runner).
- uses: julia-actions/cache@v3
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v7
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
name: CI
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
workflow_dispatch:

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.12' # Minimum supported version
- '1' # Latest stable
os:
- ubuntu-latest
- macOS-latest
- windows-latest
steps:
- uses: actions/checkout@v7

# Install Rust for compatibility tests with official dbn-cli
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable

# Cache Rust dependencies (Unix)
- name: Cache Rust dependencies (Unix)
if: runner.os != 'Windows'
uses: actions/cache@v6
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~/dbn-workspace/dbn/target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

# Cache Rust dependencies (Windows)
- name: Cache Rust dependencies (Windows)
if: runner.os == 'Windows'
uses: actions/cache@v6
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~\dbn-workspace\dbn\target\
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

# Clone and build official dbn for compatibility tests
- name: Build dbn (Unix)
if: runner.os != 'Windows'
run: |
mkdir -p $HOME/dbn-workspace
if [ ! -f "$HOME/dbn-workspace/dbn/Cargo.toml" ]; then
rm -rf $HOME/dbn-workspace/dbn
git clone --depth 1 https://github.com/databento/dbn $HOME/dbn-workspace/dbn
fi
cd $HOME/dbn-workspace/dbn
cargo build --release

- name: Build dbn (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
$workspace = "$env:USERPROFILE\dbn-workspace"
New-Item -ItemType Directory -Force -Path $workspace | Out-Null
if (-not (Test-Path "$workspace\dbn\Cargo.toml")) {
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$workspace\dbn"
git clone --depth 1 https://github.com/databento/dbn "$workspace\dbn"
}
cd "$workspace\dbn"
cargo build --release

- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.version }}
# Omit `arch` so setup-julia picks the runner's native arch
# (macOS-latest is now arm64; setup-julia@v3 errors hard if we
# force x64 on an arm64 runner).

- uses: julia-actions/cache@v3

- uses: julia-actions/julia-buildpkg@v1

- uses: julia-actions/julia-runtest@v1

- uses: julia-actions/julia-processcoverage@v1

- uses: codecov/codecov-action@v7
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
66 changes: 33 additions & 33 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
name: TagBot
on:
issue_comment:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: '3'
permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh: ${{ secrets.DOCUMENTER_KEY }}
name: TagBot
on:
issue_comment:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: '3'

permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read

jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh: ${{ secrets.DOCUMENTER_KEY }}
Loading
Loading