diff --git a/.env b/.env
index 994287ffe..dbcdad772 100644
--- a/.env
+++ b/.env
@@ -1,2 +1,7 @@
INDEX_CURSEFORGE=false
-DEBUG=true
\ No newline at end of file
+DEBUG=true
+
+MONGODB_ADDR=mongodb://localhost:27017
+MEILISEARCH_ADDR=http://localhost:7700
+
+PORT=8000
\ No newline at end of file
diff --git a/.github/workflows/codequality.yml b/.github/workflows/codequality.yml
new file mode 100644
index 000000000..af0e68a5c
--- /dev/null
+++ b/.github/workflows/codequality.yml
@@ -0,0 +1,32 @@
+name: Code quality
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+
+env:
+ CARGO_TERM_COLOR: always
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ override: true
+ components: rustfmt, clippy
+ - name: Cache build artifacts
+ id: cache-build
+ uses: actions/cache@v2
+ with:
+ path: target/**
+ key: ${{ runner.os }}-build-cache
+ - name: Annotate commit with clippy warnings
+ uses: actions-rs/clippy-check@v1
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ args: --all-features
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index f226295b7..633d748e6 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -1,10 +1,9 @@
-name: Rust
+name: Rust building
on:
push:
branches: [ master ]
pull_request:
- branches: [ master ]
env:
CARGO_TERM_COLOR: always
@@ -16,7 +15,17 @@ jobs:
steps:
- uses: actions/checkout@v2
- - name: Build
- run: cargo build --verbose
- - name: Run tests
- run: cargo test --verbose
\ No newline at end of file
+ - name: Get build cache
+ id: cache-build
+ uses: actions/cache@v2
+ with:
+ path: target/**
+ key: ${{ runner.os }}-build-cache
+ - name: Install toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ - uses: actions-rs/cargo@v1
+ name: Build program
+ with:
+ command: build
diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml
new file mode 100644
index 000000000..b00d0ff0e
--- /dev/null
+++ b/.github/workflows/security.yml
@@ -0,0 +1,20 @@
+name: Security audit
+
+on:
+ push:
+ paths:
+ - '**/Cargo.toml'
+ - '**/Cargo.lock'
+ pull_request:
+ paths:
+ - '**/Cargo.toml'
+ - '**/Cargo.lock'
+
+jobs:
+ security_audit:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/audit-check@v1
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 000000000..5e97ca4d2
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,39 @@
+name: Unit Tests
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+
+jobs:
+ test:
+ name: ${{ matrix.os }}-rust-${{ matrix.rust }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ rust:
+ - stable
+ - beta
+ - nightly
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ name: Install toolchain
+ with:
+ profile: minimal
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - name: Cache build artifacts
+ id: cache-build
+ uses: actions/cache@v2
+ with:
+ path: target/**
+ key: ${{ runner.os }}-build-cache-${{ matrix.rust }}
+ - uses: actions-rs/cargo@v1
+ with:
+ command: build
+ - uses: actions-rs/cargo@v1
+ with:
+ command: test
diff --git a/.gitignore b/.gitignore
index 70391e3d0..c011fbb0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -103,3 +103,4 @@ Cargo.lock
**/*.rs.bk
# End of https://www.gitignore.io/api/rust,clion
+
diff --git a/.idea/deployment.xml b/.idea/deployment.xml
new file mode 100644
index 000000000..52206eb2c
--- /dev/null
+++ b/.idea/deployment.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 5e27a2933..12a0a782e 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -1,6 +1,11 @@
+
+
+
+
+