diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml new file mode 100644 index 0000000..19f341b --- /dev/null +++ b/.forgejo/workflows/ci.yaml @@ -0,0 +1,18 @@ +name: Test build & run + +on: [push] + +jobs: + build-run: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + - name: Setup Deno 2 + uses: denoland/setup-deno@v2 + with: + deno-version: v2.x + - name: Build using Cargo + run: cargo build --verbose + - name: Run unit tests + run: cargo test --verbose diff --git a/src/known_software.rs b/src/known_software.rs index eb9883b..9e4b3c6 100644 --- a/src/known_software.rs +++ b/src/known_software.rs @@ -98,3 +98,17 @@ impl<'r> FromParam<'r> for KnownInstanceSoftware<'r> { } } } + +#[cfg(test)] +mod tests { + use super::*; + + /// If this test fails, known-software.json is invalid + #[test] + fn known_software_is_valid() { + assert!(!KNOWN_SOFTWARE.groups.is_empty()); + assert!(!KNOWN_SOFTWARE.software.is_empty()); + assert!(!KNOWN_SOFTWARE_NAMES.is_empty()); + assert!(!KNOWN_SOFTWARE_NODEINFO_NAMES.is_empty()); + } +}