Skip to content

Refactor CI/CD workflow to enhance README generation and dependency i… #20

Refactor CI/CD workflow to enhance README generation and dependency i…

Refactor CI/CD workflow to enhance README generation and dependency i… #20

Workflow file for this run

# Name of the workflow
name: CI/CD Workflow
# Trigger the workflow on push to the main branch
on:
push:
branches:
- main
jobs:
build:
# Run the job on the latest Ubuntu runner
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout repository
uses: actions/checkout@v3
# Step 2: Set up Python
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12.7'
# Step 3: Install dependencies for each project in the root directory
- name: Install dependencies for each project
run: |
for dir in */; do
# Skip non-project folders (e.g., .github/)
if [[ "$dir" == ".github/" ]]; then
continue
fi
echo "Processing $dir"
# Check if a requirements.txt file exists in the project directory
if [ -f "$dir/requirements.txt" ]; then
echo "Installing dependencies for $dir"
# Install the dependencies listed in the requirements.txt file
pip install -r "$dir/requirements.txt"
else
echo "No requirements.txt found in $dir"
fi
done
# Step 4: Generate README files for each project
- name: Generate README files
run: |
for dir in */; do
# Skip non-project folders (e.g., .github/)
if [[ "$dir" == ".github/" ]]; then
continue
fi
# Get the project name from the directory name
project_name=$(basename "$dir")
# Construct the full path for the README file
readme_file="$project_name/README.md"
# Create a README file with documentation
echo "# $project_name" > "$readme_file"
echo "" >> "$readme_file"
echo "## Description" >> "$readme_file"
echo "This is the README for the $project_name project." >> "$readme_file"
echo "" >> "$readme_file"
echo "## Installation" >> "$readme_file"
echo "To install the dependencies, run the following command:" >> "$readme_file"
echo "```bash" >> "$readme_file"
echo "pip install -r requirements.txt" >> "$readme_file"
echo "```" >> "$readme_file"
echo "" >> "$readme_file"
echo "## Usage" >> "$readme_file"
echo "Instructions for using the $project_name project go here." >> "$readme_file"
echo "" >> "$readme_file"
echo "---" >> "$readme_file"
echo "*📄 This README was automatically generated by the CI/CD workflow. 🤖*" >> "$readme_file"
echo "Generated README for $project_name"
done
# Step 5: Commit and push the changes back to the main branch
- name: Commit and push changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: 'Update READMEs'
branch: main