Merge branch 'main' of https://github.com/Wambaforestin/project-lab-p… #23
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Owner CI/CD Workflow | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the repository | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
# Step 2: Set up Python environment | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.12.7' | |
# Step 3: Install dependencies for each project | |
- name: Install dependencies for each project | |
run: | | |
for dir in */; do | |
# Skip non-project folders | |
if [[ "$dir" == ".github/" ]]; then | |
continue | |
fi | |
echo "Processing $dir" | |
if [ -f "$dir/requirements.txt" ]; then | |
echo "Installing dependencies for $dir" | |
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 | |
if [[ "$dir" == ".github/" ]]; then | |
continue | |
fi | |
project_name=$(basename "$dir") | |
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 changes | |
- name: Commit and push changes | |
run: | | |
git config user.name "github-actions[bot]" | |
git config user.email "github-actions[bot]@users.noreply.github.com" | |
git add . | |
git commit -m "Update Project READMEs" || echo "No changes to commit" | |
git push https://${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }} main |