Files
dss/.gitea/workflows/dss-analysis.yml
2025-12-10 11:11:21 -03:00

58 lines
2.2 KiB
YAML

name: DSS Project Analysis
# This workflow runs on every push to any branch.
on: [push]
jobs:
dss-context-update:
runs-on: ubuntu-latest
steps:
# Step 1: Check out the repository code
- name: Checkout code
uses: actions/checkout@v4
with:
# We need to fetch the full history to be able to push back
fetch-depth: 0
# Step 2: Set up the environment
- name: Set up Environment
run: |
echo "Setting up Python and Node.js environment..."
# Gitea's ubuntu-latest runner may not have everything, so we install dependencies.
# This is an example; a custom Docker image would be more efficient.
sudo apt-get update && sudo apt-get install -y python3-pip
pip3 install -r requirements.txt
cd dss-mvp1 && npm install && cd ..
# Step 3: Configure Git
- name: Configure Git
run: |
git config --global user.name "DSS Agent"
git config --global user.email "dss-agent@overbits.luz.uy"
# Step 4: Run the DSS Analysis
- name: Run DSS Analysis
run: |
echo "Running DSS project analysis..."
python3 dss-mvp1/dss-cli.py analyze --project-path .
# Step 5: Commit and Push Changes if any
- name: Commit and Push Context Changes
run: |
# Check if the analysis graph file has been changed
if ! git diff --quiet .dss/analysis_graph.json; then
echo "Change detected in analysis_graph.json. Committing and pushing..."
# Add the file, commit, and push back to the same branch.
# The GITEA_TOKEN is a secret you must configure in your project settings.
git add .dss/analysis_graph.json
git commit -m "chore(dss): Update project analysis context [skip ci]"
# Use the GITEA_TOKEN for authentication
# GITEA_SERVER_URL and GITEA_REPOSITORY are default environment variables in Gitea Actions.
git push https://dss-agent:${{ secrets.GITEA_TOKEN }}@${GITEA_SERVER_URL}/${GITEA_REPOSITORY}.git HEAD:${GITEA_REF_NAME}
else
echo "No changes detected in project context. Nothing to commit."
fi