Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
danielgerlag committed Sep 23, 2024
0 parents commit a0d85c1
Show file tree
Hide file tree
Showing 313 changed files with 59,578 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/sh
case ":${PATH}:" in
*:"$HOME/.cargo/bin":*)
;;
*)
export PATH="$HOME/.cargo/bin:$PATH"
;;
esac

echo "Running cargo fmt..."
cargo fmt -- --check
6 changes: 6 additions & 0 deletions .github/.codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
codecov:
require_ci_to_pass: yes
comment:
layout: " diff, flags, files"
behavior: default
require_changes: false
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@agentofreality @danielgerlag
70 changes: 70 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Bug Report
description: Report broken functionality within Drasi
title: "<BUG TITLE>"
labels: ["bug"]
body:
- type: markdown
attributes:
value: "## Bug information"
- type: textarea
attributes:
label: Steps to reproduce
description: How can we recreate this bug? Be specific.
validations:
required: true
- type: textarea
attributes:
label: Observed behavior
description: What you're experiencing that you believe is a bug.
placeholder: |
If applicable, add screenshots to help explain your problem.
Tip: You can attach images or files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: textarea
attributes:
label: Desired behavior
description: What you're expecting to happen.
validations:
required: true
- type: textarea
attributes:
label: Workaround
description: Have you found a workaround to get you unblocked?
validations:
required: false
- type: markdown
attributes:
value: "## System information"
- type: textarea
attributes:
label: Drasi Version
description: What Drasi version are you running?
validations:
required: true
- type: textarea
attributes:
label: Operating system
description: What operating system (macOS Monterey, Windows 11, etc.) and architecture (x86, x64, arm64, etc.) are you running?
placeholder: |
For example: macOS Monterey, M1 chip
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: Add any other context about the problem here.
placeholder: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: checkboxes
attributes:
label: Would you like to support us?
description: Would you like to support us in fixing this bug?
options:
- label: Yes, I would like to support you
required: false
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/engineering.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Engineering Improvement
description: Report problems or suggestions to improve the Drasi engineering processes and/or pipelines
title: "<TITLE>"
labels: ["maintenance"]
body:
- type: markdown
attributes:
value: "## Engineering Improvement"
- type: textarea
attributes:
label: Area for Improvement
description: What engineering process or tools can be improved? Build? Testing? ...? Be specific.
validations:
required: true
- type: textarea
attributes:
label: Observed behavior
description: What you're experiencing that you believe could be improved.
placeholder: |
If applicable, add screenshots to help explain your problem.
Tip: You can attach images or files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: textarea
attributes:
label: Desired behavior
description: What you'd like to happen.
validations:
required: true
- type: textarea
attributes:
label: Proposed Fix
description: Have you found a way to implement or fix the issue?
validations:
required: false
- type: markdown
attributes:
value: "## System information"
- type: textarea
attributes:
label: Drasi Version
description: What Drasi version are you running?
validations:
required: true
- type: textarea
attributes:
label: Operating system
description: What operating system (macOS Monterey, Windows 11, etc.) and architecture (x86, x64, arm64, etc.) are you running?
placeholder: |
For example: macOS Monterey, M1 chip
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: Add any other context about the problem here
placeholder: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or files by clicking this area to highlight it and then dragging files in.
validations:
required: false
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Feature Request
description: Request a feature in Drasi
title: "<FEATURE TITLE>"
labels: ["feature"]
body:
- type: textarea
attributes:
label: Overview of feature request
description: What are you proposing Drasi add/update/remove?
validations:
required: true
- type: textarea
attributes:
label: Acceptance criteria
description: What will need to be completed/working for this feature to be marked "Done"?
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: Add any other context about the problem here
placeholder: |
Links? References? Anything that will give us more context about the feature you are looking for!
Tip: You can attach images or files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: checkboxes
attributes:
label: Would you like to support us?
description: Would you like to support us in implementing the feature?
options:
- label: Yes, I would like to support you
required: false
25 changes: 25 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Description

_Please explain the changes you've made._

## Type of change

<!--
Please select **one** of the following options that describes your change and delete the others. Clearly identifying the type of change you are making will help us review your PR faster, and is used in authoring release notes.
If you are making a bug fix or functionality change to Drasi and do not have an associated issue link please create one now.
-->

- This pull request fixes a bug in Drasi and has an approved issue (issue link required).
- This pull request adds or changes features of Drasi and has an approved issue (issue link required).
- This pull request is a minor refactor, code cleanup, test improvement, or other maintenance task and doesn't change the functionality of Drasi (issue link optional).

<!--
Please update the following to link the associated issue. This is required for some kinds of changes (see above).
-->

Fixes: #issue_number
53 changes: 53 additions & 0 deletions .github/workflows/ci-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Run cargo fmt and cargo clippy

on:
push:
branches: ['*']
pull_request:
branches: [ "main" ]


jobs:
clippy_check:
name: Cargo Clippy lint check
env:
# Set RUSTFLAGS for Clippy linting
# RUSTFLAGS: |
# -Dwarnings # Treat warnings as errors
# -W clippy::print_stdout # Warn on use of 'print' and 'println!'
# -W clippy::unwrap_used # Warn on use of '.unwrap()'
# -A unused # Allow unused code (false positive occurences in query-perf)
# -A clippy::module_inception # Allow module inception (module with same name as the file)
# -A clippy::ptr_arg # Allow passing references as function parameters
# -A clippy::type_complexity # Allow complex types without warning
RUSTFLAGS: |
-Dwarnings
-W clippy::print_stdout
-W clippy::unwrap_used
-A unused
-A clippy::module_inception
-A clippy::ptr_arg
-A clippy::type_complexity
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Cargo Clippy
run: cargo clippy --all-targets --all-features


fmt_check:
name: Format check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Install latest nightly
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1.0.7
with:
toolchain: nightly
override: true

- name: Run Cargo fmt
run: |
rustup component add --toolchain nightly-x86_64-unknown-linux-gnu rustfmt
cargo fmt -- --check
66 changes: 66 additions & 0 deletions .github/workflows/coverage.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Generate Rust Code Coverage

on:
workflow_dispatch:
pull_request:
branches:
- "main"

env:
CARGO_TERM_COLOR: always

permissions:
contents: read


jobs:
coverage_with_code_cov:
runs-on: ubuntu-latest
services:
redis:
image: redis:7-alpine
ports:
- 6379:6379
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Cache Cargo registry
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Cache Cargo index
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-index-
- name: Cache Cargo build
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-build-
- name: Install Rust
run: rustup update stable
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@981088406945bfd239b6fcdeb9a73f24b463e426 # cargo-llvm-cov
- name: Generate code coverage
env:
REDIS_URL: redis://localhost:6379
run: |
cd core
cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3.1.6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: core/lcov.info
fail_ci_if_error: true

32 changes: 32 additions & 0 deletions .github/workflows/devskim.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: DevSkim

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '30 0 * * 0' #runs every Sunday at 00:30 UTC

permissions:
contents: read

jobs:
lint:
name: DevSkim
runs-on: ubuntu-20.04
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Run DevSkim scanner
uses: microsoft/DevSkim-Action@914fa647b406c387000300b2f09bb28691be2b6d # v1.0.14

- name: Upload DevSkim scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@89036746af0bb9507d6f90289b0d5b97d5f44c0c # v2.26.4
with:
sarif_file: devskim-results.sarif
Loading

0 comments on commit a0d85c1

Please sign in to comment.