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
9 changes: 9 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[target.aarch64-unknown-linux-gnu]
objcopy = { path ="aarch64-linux-gnu-objcopy" }
strip = { path ="aarch64-linux-gnu-strip" }
linker = "aarch64-linux-gnu-gcc"

[target.armv7-unknown-linux-gnueabihf]
objcopy = { path ="arm-none-eabi-objcopy" }
strip = { path ="arm-none-eabi-strip" }
linker = "arm-linux-gnueabihf-gcc"
3 changes: 3 additions & 0 deletions .deployment.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
target_dirs = [
"../inexor-rgf/plugins/deploy"
]
6 changes: 6 additions & 0 deletions .github/auto_assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
addAssignees: author
numberOfAssignees: 0
addReviewers: true
numberOfReviewers: 0
reviewers:
- aschaeffer
32 changes: 32 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
time: "18:00"
timezone: "Europe/Berlin"
labels:
- "p:continuous-integration"
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "daily"
time: "18:00"
timezone: "Europe/Berlin"
labels:
- "p:dependencies"
open-pull-requests-limit: 10
reviewers:
- "reactive-graph/code-contributors"
groups:
rust-dependencies:
update-types:
- "minor"
- "patch"
38 changes: 38 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
p:documentation:
- changed-files:
- any-glob-to-any-file:
- CHANGELOG.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- README.md
- SECURITY.md
- book/**
- docs/**
- .github/workflows/docs.yml
p:continuous-integration:
- changed-files:
- any-glob-to-any-file:
- .github/workflows/**
- .github/dependabot.yml
- .github/labeler.yml
- .github/pr-labeler.yml
p:distribution:
- changed-files:
- any-glob-to-any-file:
- Dockerfile
- .github/workflows/release.yml
- .github/workflows/docker.yml
p:build-system:
- changed-files:
- any-glob-to-any-file:
- clippy.toml
- .rustfmt.toml
- codecov.yaml
- .github/workflows/msrv.yml
p:dependencies:
- changed-files:
- any-glob-to-any-file:
- Cargo.toml
- Cargo.lock
- crates/**/Cargo.toml
- .github/workflows/dependabot-approve-and-auto-merge.yml
127 changes: 127 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Components (prefix: c:)

- name: "c:cli"
description: "Component: Changes the Command Line Interface (CLI)."
color: "50747D"

- name: "c:command-system"
description: "Component: Changes the command system."
color: "A4B464"

- name: "c:instance-system"
description: "Component: Changes on the instance system."
color: "0C4BED"

- name: "c:plugin-system"
description: "Component: Changes the plugin system or plugin related."
color: "8AFE57"

- name: "c:reactive-behaviour-system"
description: "Component: Changes the reactive behaviour system."
color: "5DF5BC"

- name: "c:runtime"
description: "Component: Changes the runtime."
color: "5BA3EB"

- name: "c:rust-client"
description: "Component: Changes on the rust client library."
color: "fef2c0"

- name: "c:security"
description: "Component: Security, Authentication, Authorization."
color: "F60205"

- name: "c:type-system"
description: "Component: Changes the type system."
color: "006b75"

- name: "c:user-interface"
description: "Component: Changes on the user interface."
color: "E0DE2F"

# Interfaces (prefix: i; color: F028F9)

- name: "i:dynamic-graph"
description: "Interface: Changes the Dynamic Graph interface."
color: "F028F9"

- name: "i:graphql"
description: "Interface: Changes the GraphQL API."
color: "F028F9"

- name: "i:jsonschema"
description: "Interface: Changes the JSON Schema."
color: "F028F9"

# Organizational (prefix: o; color: #008672)

- name: "o:good-first-issue"
description: "Organisational: Good for newcomers."
color: "008672"

- name: "o:help-wanted"
description: "Organisational: Extra attention is needed."
color: "008672"

- name: "o:question"
description: "Organisational: Further information is requested."
color: "008672"

- name: "o:stale"
description: "Organisational: Stale"
color: "008672"

- name: "o:triage"
description: "Organisational: Triage"
color: "008672"

# Project Change (prefix: p; color: #0366d6)

- name: "p:build-system"
description: "Project Change: Changes the build system"
color: "0366d6"

- name: "p:continuous-integration"
description: "Project Change: Continuous Integration"
color: "0366d6"

- name: "p:dependencies"
description: "Project Change: Pull requests that update a dependency file"
color: "0366d6"

- name: "p:distribution"
description: "Project Change: Packaging & Distribution."
color: "0366d6"

- name: "p:documentation"
description: "Project Change: Improvements or additions to documentation"
color: "0366d6"

- name: "p:tooling"
description: "Project Change: Changes the tooling of the project."
color: "0366d6"

# Resolution (prefix: r; color: #D8A094)

- name: "r:duplicate"
description: "Resolution: This issue or pull request already exists."
color: "D8A094"

- name: "r:invalid"
description: "Resolution: This doesn't seem right."
color: "D8A094"

- name: "r:problem"
description: "Resolution: There is a problem which has no solution yet."
color: "D8A094"

- name: "r:research"
description: "Resolution: More research or an experiment is necessary to solve a problem."
color: "D8A094"

- name: "r:wontfix"
description: "Resolution: This will not be worked on."
color: "D8A094"

# aliases: ['first', 'second', 'third']
15 changes: 15 additions & 0 deletions .github/workflows/add_labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Add Labels

on:
issues:
types: [ opened ]

jobs:
add_labels:
runs-on: ubuntu-22.04
steps:
- name: Add labels
uses: andymckay/labeler@master
with:
add-labels: "o:triage"
ignore-if-labeled: true
31 changes: 31 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Security audit
on:
push:
branches: [ main ]
paths:
- "plugins/**/Cargo.toml"
- "Cargo.toml"
- "Cargo.lock"
- ".github/workflows/audit.yml"
pull_request:
branches: [ main ]
paths:
- "plugins/**/Cargo.toml"
- "Cargo.toml"
- "Cargo.lock"
- ".github/workflows/audit.yml"
schedule:
- cron: "0 12 * * 0"
# Run manually
workflow_dispatch:

jobs:
audit:
runs-on: ubuntu-22.04
steps:
- name: VCS Checkout
uses: actions/checkout@v4
- name: Audit Rust Dependencies
uses: rustsec/audit-check@v2.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
69 changes: 69 additions & 0 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Book

on:
push:
branches: [ main ]
paths:
- "book/**"
- "plugins/*/README.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "LICENSE.md"
- "README.md"
- "SECURITY.md"
- ".github/workflows/book.yml"
pull_request:
branches: [ main ]
paths:
- "book/**"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "LICENSE.md"
- "README.md"
- "SECURITY.md"
- ".github/workflows/book.yml"

env:
CARGO_TERM_COLOR: always

jobs:
book:
name: Book
runs-on: ubuntu-22.04
steps:
- name: VCS Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: 'latest'
- name: Install preprocessor mdbook-admonish
uses: taiki-e/cache-cargo-install-action@v2
with:
tool: mdbook-admonish
- name: Install preprocessor mdbook-mermaid
uses: taiki-e/cache-cargo-install-action@v2
with:
tool: mdbook-mermaid

- name: Install preprocessor mdbook-preprocessor-graphql-playground
uses: taiki-e/cache-cargo-install-action@v2
with:
tool: mdbook-preprocessor-graphql-playground
- name: Build Book
working-directory: ./book
run: mdbook build
- name: Deploy
uses: peaceiris/actions-gh-pages@v4
if: ${{ github.ref == 'refs/heads/main' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./book/book
destination_dir: book
cname: tooling.reactive-graph.io
52 changes: 52 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Code Coverage

on:
push:
branches: [ main ]
paths:
- "plugins/*/crates/**/*.rs"
- "plugins/*/crates/**/Cargo.toml"
- "Cargo.toml"
- ".github/workflows/coverage.yml"
pull_request:
branches: [ main ]
paths:
- "plugins/*/crates/**/*.rs"
- "plugins/*/crates/**/Cargo.toml"
- "Cargo.toml"
- ".github/workflows/coverage.yml"

env:
CARGO_TERM_COLOR: always
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"

jobs:
codecov-tarpaulin:
name: Generate code coverage
runs-on: ubuntu-22.04
steps:
- name: VCS Checkout
uses: actions/checkout@v4
- name: Install latest nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2025-03-14
components: rustfmt, rust-src
- name: Install tarpaulin
uses: taiki-e/cache-cargo-install-action@v2
with:
tool: tarpaulin
- name: Cache dependencies
uses: Swatinem/rust-cache@v2
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Run cargo-tarpaulin
run: cargo +nightly tarpaulin --engine llvm --verbose --all-features --workspace --timeout 120 --out xml
# Note: closed-source code needs to provide a token,
# but open source code does not.
- name: Upload to codecov.io
uses: codecov/codecov-action@v5.4.2
with:
verbose: true
fail_ci_if_error: true
Loading
Loading