Enhance development environment setup and security scanning workflows
Some checks failed
Bandit / bandit (push) Has been cancelled
Codacy Security Scan / Codacy Security Scan (push) Has been cancelled

This commit is contained in:
2025-05-18 22:04:15 +00:00
parent f0ae061fa7
commit 0ee64050e5
6 changed files with 139 additions and 24 deletions

View File

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
export UV_LINK_MODE=copy;
sudo apt update sudo apt update
sudo apt full-upgrade -y sudo apt full-upgrade -y
sudo apt autoremove -y; sudo apt autoremove -y;
@ -72,6 +74,7 @@ fi
if [ -f ~/.cache/oh-my-posh-completion.bash ]; then if [ -f ~/.cache/oh-my-posh-completion.bash ]; then
source ~/.cache/oh-my-posh-completion.bash source ~/.cache/oh-my-posh-completion.bash
fi fi
export UV_LINK_MODE=copy; export UV_LINK_MODE=copy;
EOF EOF

View File

@ -6,17 +6,17 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: devcontainers - package-ecosystem: "devcontainers"
directory: / directory: "/"
schedule: schedule:
interval: weekly interval: "weekly"
day: tuesday day: "tuesday"
time: 03:00 time: "03:00"
timezone: Europe/Amsterdam timezone: "Europe/Amsterdam"
- package-ecosystem: uv - package-ecosystem: "uv"
directory: / directory: "/"
schedule: schedule:
interval: weekly interval: "weekly"
day: tuesday day: "tuesday"
time: 03:00 time: "03:00"
timezone: Europe/Amsterdam timezone: "Europe/Amsterdam"

51
.github/workflows/bandit.yml vendored Normal file
View File

@ -0,0 +1,51 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Bandit is a security linter designed to find common security issues in Python code.
# This action will run Bandit on your codebase.
# The results of the scan will be found under the Security tab of your repository.
# https://github.com/marketplace/actions/bandit-scan is ISC licensed, by abirismyname
# https://pypi.org/project/bandit/ is Apache v2.0 licensed, by PyCQA
name: Bandit
on:
push:
branches: ["master"]
pull_request:
# The branches below must be a subset of the branches above
branches: ["master"]
schedule:
- cron: "37 3 * * 3"
jobs:
bandit:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Bandit Scan
uses: shundor/python-bandit-scan@ab1d87dfccc5a0ffab88be3aaac6ffe35c10d6cd
with: # optional arguments
# exit with 0, even with results found
exit_zero: true # optional, default is DEFAULT
# Github token of the repository (automatically created by Github)
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information.
# File or directory to run bandit on
# path: # optional, default is .
# Report only issues of a given severity level or higher. Can be LOW, MEDIUM or HIGH. Default is UNDEFINED (everything)
# level: # optional, default is UNDEFINED
# Report only issues of a given confidence level or higher. Can be LOW, MEDIUM or HIGH. Default is UNDEFINED (everything)
# confidence: # optional, default is UNDEFINED
# comma-separated list of paths (glob patterns supported) to exclude from scan (note that these are in addition to the excluded paths provided in the config file) (default: .svn,CVS,.bzr,.hg,.git,__pycache__,.tox,.eggs,*.egg)
# excluded_paths: # optional, default is DEFAULT
# comma-separated list of test IDs to skip
# skips: # optional, default is DEFAULT
# path to a .bandit file that supplies command line arguments
# ini_path: # optional, default is DEFAULT

61
.github/workflows/codacy.yml vendored Normal file
View File

@ -0,0 +1,61 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow checks out code, performs a Codacy security scan
# and integrates the results with the
# GitHub Advanced Security code scanning feature. For more information on
# the Codacy security scan action usage and parameters, see
# https://github.com/codacy/codacy-analysis-cli-action.
# For more information on Codacy Analysis CLI in general, see
# https://github.com/codacy/codacy-analysis-cli.
name: Codacy Security Scan
on:
push:
branches: ["master"]
pull_request:
# The branches below must be a subset of the branches above
branches: ["master"]
schedule:
- cron: "36 10 * * 3"
permissions:
contents: read
jobs:
codacy-security-scan:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
name: Codacy Security Scan
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout code
uses: actions/checkout@v4
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@d840f886c4bd4edc059706d09c6a1586111c540b
with:
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
# You can also omit the token and run the tools that support default configurations
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
verbose: true
output: results.sarif
format: sarif
# Adjust severity of non-security issues
gh-code-scanning-compat: true
# Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif

View File

@ -1,8 +1,11 @@
default_install_hook_types: # default_install_hook_types:
- pre-commit # - pre-commit
- post-checkout # - post-checkout
- post-merge # - post-merge
- post-rewrite # - post-rewrite
default_language_version:
node: 22.15.1
repos: repos:
- repo: https://github.com/adamchainz/django-upgrade - repo: https://github.com/adamchainz/django-upgrade

View File

@ -104,10 +104,10 @@ run-redis:
# Start all development services (web, redis, celery, celery-beat) # Start all development services (web, redis, celery, celery-beat)
run-all: run-all:
make run-redis & \ foreman start
make run & \
make celery & \ procfile:
make celery-beat foreman start
# Test Celery task # Test Celery task
test-celery: test-celery:
@ -122,6 +122,3 @@ init-data-integration:
# Setup development environment # Setup development environment
setup-dev: venv install-dev migrate create_default_datasource setup-dev: venv install-dev migrate create_default_datasource
@echo "Development environment setup complete" @echo "Development environment setup complete"
procfile:
foreman start