Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
0442206
feat: add CI workflows for security, linting, and testing
EncryptEx Mar 2, 2026
56140e9
fix broken file
EncryptEx Mar 2, 2026
8d973ca
refactor: pass black formatter
EncryptEx Mar 2, 2026
53a79de
feat: update Gitleaks installation method and run command in CI pipeline
EncryptEx Mar 2, 2026
738033b
fix: fixed bandit smells
EncryptEx Mar 2, 2026
f4e90fd
feat: update Gitleaks installation method in CI pipeline
EncryptEx Mar 2, 2026
789d0ec
hotfix: now is the correct link
EncryptEx Mar 2, 2026
839df9f
ci: added baseline for gitleaks
EncryptEx Mar 3, 2026
bf8493c
docs: fixed how to run tests
EncryptEx Mar 3, 2026
6e9d086
Merge branch 'main' into add-ci-test-run
EncryptEx Mar 3, 2026
fc7a687
ci: added missing dot
EncryptEx Mar 3, 2026
6a1650a
style: fixed ruff
EncryptEx Mar 3, 2026
b408e73
ci: remove black, superseeded by ruff
EncryptEx Mar 8, 2026
7a03769
ci: removed tests workflow since is already at the ci pipeline
EncryptEx Mar 8, 2026
415d6ea
refactor: Ruff checked!
EncryptEx Mar 8, 2026
12c4c0c
ci: excluded deprecated folder and tests
EncryptEx Mar 8, 2026
6a86ea5
ci: added coverage artifact
EncryptEx Mar 8, 2026
fb99932
fix: changed old requirements to bump into 3.14
EncryptEx Mar 8, 2026
f5b5490
fix: removed unused dependencies
EncryptEx Mar 8, 2026
2c4ff3c
fix: corrected casing and formatting in docker-compose.yml
EncryptEx Mar 8, 2026
c6ce3a4
ci: update test dependencies to include pytest-cov for coverage repor…
EncryptEx Mar 8, 2026
9700040
ci: add workflow to restrict PRs to develop branch only
EncryptEx Mar 8, 2026
9da7977
ci: add pre-commit configuration for code quality checks
EncryptEx Mar 8, 2026
9a059e7
style: removed trailing whitespaces
EncryptEx Mar 8, 2026
59afe4b
ci: simplified precommit hooks
EncryptEx Mar 8, 2026
5397e3b
added new branch dev to git flow
EncryptEx Mar 13, 2026
51f215b
Merge pull request #14 from Learning-Dashboard/add-precommit
EncryptEx Mar 13, 2026
afe9114
fix: added exclusions to sonarcloud
EncryptEx Mar 13, 2026
2581f9d
fixed some sonarcube errors
EncryptEx Mar 13, 2026
33856bb
fix: add tests directory to sonar exclusions
EncryptEx Mar 13, 2026
460d374
Merge branch 'dev' into add-ci-test-run
EncryptEx Mar 13, 2026
06e3e90
ci: add checks also to dev
EncryptEx Mar 13, 2026
dfa2c57
refactor: simplify function signatures and improve response handling …
EncryptEx Mar 14, 2026
bad887b
refactor: update datetime handling and simplify function signatures i…
EncryptEx Mar 14, 2026
36882d4
refactor: improve logging format in Taiga and GitHub webhook handlers
EncryptEx Mar 14, 2026
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
124 changes: 124 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main, dev]



jobs:
test:
permissions:
contents: read
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
cache: pip
cache-dependency-path: requirements.txt

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest pytest-cov

- name: Run tests with coverage
run: pytest --cov=. --cov-report=term --cov-report=xml --cov-report=html

- name: Upload coverage artifacts
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: |
coverage.xml
htmlcov/
if-no-files-found: error

lint:
permissions:
contents: read
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
cache: pip

- name: Install Ruff
run: |
python -m pip install --upgrade pip
pip install ruff

- name: Run Ruff
run: ruff check . --exclude tests,deprecated

bandit:
permissions:
contents: read
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
cache: pip

- name: Install Bandit
run: |
python -m pip install --upgrade pip
pip install bandit

- name: Run Bandit
run: bandit -r . -x tests -ll -x tests,deprecated

gitleaks:
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout repository (full history)
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Gitleaks (via cli)
run: |
curl -sSL -o /tmp/gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.30.0/gitleaks_8.30.0_linux_x64.tar.gz
tar xz -C /tmp -f /tmp/gitleaks.tar.gz
sudo mv /tmp/gitleaks /usr/local/bin/gitleaks
sudo chmod +x /usr/local/bin/gitleaks

- name: Run Gitleaks
run: gitleaks detect --source . --redact --verbose --baseline-path .gitleaks-baseline.json --exit-code 1

semgrep:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Run Semgrep
uses: semgrep/semgrep-action@v1
with:
config: p/security-audit
20 changes: 20 additions & 0 deletions .github/workflows/main-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Restrict PR Source

on:
pull_request:
branches:
- main

jobs:
check-branch:
runs-on: ubuntu-latest
env:
GITHUB_HEAD_REF: ${{ github.head_ref }}
steps:

- name: Fail if not from develop
run: |
if [[ $GITHUB_HEAD_REF != "dev" ]]; then
echo "PR must come from develop branch only."
exit 1
fi
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -195,9 +195,9 @@ cython_debug/
.abstra/

# Visual Studio Code
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
# and can be added to the global gitignore or merged into this file. However, if you prefer,
# and can be added to the global gitignore or merged into this file. However, if you prefer,
# you could uncomment the following to ignore the entire vscode folder
# .vscode/

Expand All @@ -217,3 +217,4 @@ __marimo__/

# custom
config_files/credentials_config.json
.vscode/mcp.json
Loading
Loading