Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
285789b
Implement dictionary module for RDF term encoding and add integration…
argahsuknesib Nov 5, 2025
9287076
Initial plan
Copilot Nov 5, 2025
c6e7065
Apply code review suggestions and rustfmt fixes
Copilot Nov 5, 2025
096a61c
Merge pull request #6 from SolidLabResearch/copilot/sub-pr-5
argahsuknesib Nov 5, 2025
5cabf50
Refactor CI integration tests and enhance JanusQL data structures wit…
argahsuknesib Nov 5, 2025
9d45295
Refactor code for consistency and clarity in indexing modules
argahsuknesib Nov 6, 2025
69f1f9e
Add comprehensive benchmarks for writing performance and analysis of …
argahsuknesib Nov 6, 2025
c0df487
Enhance writing performance benchmarks and update analysis scripts fo…
argahsuknesib Nov 6, 2025
e1fef2c
Implement storage module with StreamingSegmentedStorage and utility s…
argahsuknesib Nov 7, 2025
0b6e7fd
Refactor and enhance RDF storage and indexing
argahsuknesib Nov 7, 2025
bd918d2
Refactor code for improved organization and readability; add benchmar…
argahsuknesib Nov 7, 2025
0d31416
Refactor storage system to replace WAL with BatchBuffer for improved …
argahsuknesib Nov 7, 2025
43d31f6
Refactor Dictionary to use u32 for IDs and update related methods
argahsuknesib Nov 7, 2025
f4a22a5
Remove examples and benchmark scripts; refactor main and storage inde…
argahsuknesib Nov 12, 2025
7c8d564
Refactor benchmark examples for improved readability and consistency;…
argahsuknesib Nov 12, 2025
5691ac7
Update CI configuration to restrict dependency review to public repos…
argahsuknesib Nov 12, 2025
8de4f24
Fix dependency review condition for private repositories
argahsuknesib Nov 12, 2025
adc4039
Remove dependency review job to avoid issues on private repositories
argahsuknesib Nov 12, 2025
9472b65
Refactor benchmark and parser code for improved readability; update r…
argahsuknesib Nov 12, 2025
46af63c
Fix rustfmt configuration - remove unstable features to support stabl…
argahsuknesib Nov 12, 2025
7be03aa
Update GitHub Actions to latest versions: upload-artifact@v4, cache@v4
argahsuknesib Nov 12, 2025
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
83 changes: 15 additions & 68 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,19 @@ jobs:
components: clippy

- name: Cache cargo registry
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
Expand Down Expand Up @@ -85,19 +85,19 @@ jobs:
toolchain: ${{ matrix.rust }}

- name: Cache cargo registry
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-${{ matrix.rust }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-${{ matrix.rust }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-${{ matrix.rust }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
Expand All @@ -112,29 +112,6 @@ jobs:
integration-test:
name: Integration Tests
runs-on: ubuntu-latest
services:
oxigraph:
image: oxigraph/oxigraph:latest
ports:
- 7878:7878
options: >-
--health-cmd "curl -f http://localhost:7878/query || exit 1"
--health-interval 10s
--health-timeout 5s
--health-retries 5

fuseki:
image: stain/jena-fuseki:latest
ports:
- 3030:3030
env:
ADMIN_PASSWORD: admin
JVM_ARGS: "-Xmx2g"
options: >-
--health-cmd "curl -f http://localhost:3030/$/ping || exit 1"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- name: Checkout code
Expand All @@ -144,43 +121,25 @@ jobs:
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo registry
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Wait for services
run: |
echo "Waiting for Oxigraph..."
timeout 60 bash -c 'until curl -f http://localhost:7878/query; do sleep 2; done'
echo "Waiting for Fuseki..."
timeout 60 bash -c 'until curl -f http://localhost:3030/$/ping; do sleep 2; done'

- name: Create Fuseki test dataset
run: |
curl -X POST http://localhost:3030/$/datasets \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "dbName=ds&dbType=mem" \
--user admin:admin || true

- name: Run integration tests
run: cargo test --test '*' --all-features --verbose
env:
OXIGRAPH_ENDPOINT: http://localhost:7878
JENA_ENDPOINT: http://localhost:3030
JENA_DATASET: ds

# Code coverage
coverage:
Expand All @@ -199,13 +158,13 @@ jobs:
uses: taiki-e/install-action@cargo-llvm-cov

- name: Cache cargo registry
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
Expand Down Expand Up @@ -246,19 +205,19 @@ jobs:
targets: ${{ matrix.target }}

- name: Cache cargo registry
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
Expand All @@ -267,7 +226,7 @@ jobs:
run: cargo build --release --target ${{ matrix.target }} --verbose

- name: Upload build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: janus-${{ matrix.target }}
path: |
Expand All @@ -290,18 +249,6 @@ jobs:
- name: Run security audit
run: cargo audit

# Dependency review (for PRs)
dependency-review:
name: Dependency Review
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Dependency Review
uses: actions/dependency-review-action@v3

# Publish to crates.io (on release tags)
publish:
name: Publish to crates.io
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -382,4 +382,4 @@ By contributing to Janus, you agree that your contributions will be licensed und

---

Thank you for contributing to Janus! 🎉
Thank you for contributing to Janus!
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ readme = "README.md"
[dependencies]
regex = "1.0"
serde = { version = "1.0", features = ["derive"] }
bincode = "1.0"

[dev-dependencies]

Expand Down
2 changes: 1 addition & 1 deletion GETTING_STARTED.md
Original file line number Diff line number Diff line change
Expand Up @@ -399,4 +399,4 @@ This project is licensed under the MIT License - see [LICENCE.md](LICENCE.md) fo

---

Happy coding with Janus! 🚀
Happy coding with Janus!
Loading