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
28 changes: 0 additions & 28 deletions .github/ISSUE_TEMPLATE/bug.md

This file was deleted.

17 changes: 0 additions & 17 deletions .github/ISSUE_TEMPLATE/feature.md

This file was deleted.

17 changes: 0 additions & 17 deletions .github/ISSUE_TEMPLATE/task.md

This file was deleted.

30 changes: 30 additions & 0 deletions .github/workflows/rust-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Rust Tests

on:
pull_request:
paths:
- "backend/**"
- ".github/workflows/rust-tests.yaml"

jobs:
test:
name: Test (${{ matrix.crate }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
crate: [software-core, station]
steps:
- uses: actions/checkout@v4

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo
uses: Swatinem/rust-cache@v2
with:
workspaces: backend

- name: Run tests
working-directory: backend
run: cargo test --package ${{ matrix.crate }}
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
# Monorepo / IDE
node_modules/
.turbo/
.vscode/
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/tasks.json
.DS_Store
*.code-workspace

Expand Down
9 changes: 9 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"recommendations": [
"rust-lang.rust-analyzer",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-python.python",
"tamasfe.even-better-toml"
]
}
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug Backend (Rust)",
"program": "${workspaceFolder}/backend/target/debug/station",
"args": [],
"cwd": "${workspaceFolder}/backend/crates/station",
"preLaunchTask": "Build Backend (Rust)",
"sourceLanguages": ["rust"]
}
]
}
28 changes: 28 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,33 @@
"editor.codeActionsOnSave": {
"source.fixAll.rust-analyzer": "explicit"
}
},
"rust-analyzer.linkedProjects": ["backend/Cargo.toml"],
"rust-analyzer.check.command": "clippy",
"rust-analyzer.check.extraArgs": ["--all-targets"],

// ESLint: each frontend/* package has its own flat eslint.config.js
"eslint.workingDirectories": [{ "mode": "auto" }],

// Python: blcu-programming is the only Python project, venv created by
// its postinstall script (blcu-programming/scripts/setup.mjs)
"python.defaultInterpreterPath": "${workspaceFolder}/blcu-programming/.venv/bin/python",

// Keep VS Code from indexing/watching generated and vendored trees
"files.watcherExclude": {
"**/node_modules/**": true,
"**/target/**": true,
"**/dist/**": true,
"**/.venv/**": true,
"**/.venv-build/**": true,
"**/.turbo/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/target": true,
"**/dist": true,
"**/.venv": true,
"**/.venv-build": true,
"**/.turbo": true
}
}
187 changes: 187 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Testing View",
"type": "shell",
"command": "pnpm",
"args": ["dev", "--filter", "testing-view"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated"
}
},
{
"label": "Run Competition View",
"type": "shell",
"command": "pnpm",
"args": ["dev", "--filter", "competition-view"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated"
}
},
{
"label": "Run Flashing View",
"type": "shell",
"command": "pnpm",
"args": ["dev", "--filter", "flashing-view"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated"
}
},
{
"label": "Run Logging View",
"type": "shell",
"command": "pnpm",
"args": ["dev", "--filter", "logging-view"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated"
}
},
{
"label": "Run ADJ View",
"type": "shell",
"command": "pnpm",
"args": ["dev", "--filter", "adj-view"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated"
}
},
{
"label": "Run Backend (Rust)",
"type": "shell",
"command": "cargo",
"args": ["run", "--package", "station"],
"options": {
"cwd": "${workspaceFolder}/backend"
},
"problemMatcher": ["$rustc"],
"presentation": {
"reveal": "always",
"panel": "dedicated"
}
},
{
"label": "Run Python (BLCU Programming)",
"type": "shell",
"command": "pnpm",
"args": ["dev", "--filter", "blcu-programming"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated"
}
},
{
"label": "Build App",
"type": "shell",
"command": "pnpm",
"args": ["run", "build"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"group": "build"
},
{
"label": "Build Backend (Rust)",
"type": "shell",
"command": "cargo",
"args": ["build", "--package", "station"],
"options": {
"cwd": "${workspaceFolder}/backend"
},
"problemMatcher": ["$rustc"],
"group": "build"
},
{
"label": "Test App",
"type": "shell",
"command": "pnpm",
"args": ["run", "test"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"group": "test"
},
{
"label": "Test Backend (Rust)",
"type": "shell",
"command": "cargo test ${input:rustTestScope} ${input:rustTestFilter}",
"options": {
"cwd": "${workspaceFolder}/backend"
},
"problemMatcher": ["$rustc"],
"group": "test"
},
{
"label": "Clippy Backend (Rust)",
"type": "shell",
"command": "cargo",
"args": ["clippy", "--workspace", "--all-targets", "--", "-D", "warnings"],
"options": {
"cwd": "${workspaceFolder}/backend"
},
"problemMatcher": ["$rustc"],
"group": "test"
},
{
"label": "Format Backend (Rust)",
"type": "shell",
"command": "cargo",
"args": ["fmt", "--all"],
"options": {
"cwd": "${workspaceFolder}/backend"
},
"problemMatcher": [],
"group": "none"
}
],
"inputs": [
{
"id": "rustTestScope",
"type": "pickString",
"description": "¿Qué crate del backend querés testear?",
"options": [
{ "label": "Todo el workspace", "value": "--workspace" },
{ "label": "software-core", "value": "-p software-core" },
{ "label": "station", "value": "-p station" }
],
"default": "--workspace"
},
{
"id": "rustTestFilter",
"type": "promptString",
"description": "Filtro de test/módulo dentro del crate elegido (ej. adj::tests, vacío = todos)",
"default": ""
}
]
}
Loading