Files
b4l-project-template/.gitea/workflows/auto-sort-files.yml
grabowski e3b480ec33 Convert CI auto-sort system to Gitea Actions
- Move workflow from ci/auto-sort-files.yml to .gitea/workflows/auto-sort-files.yml
- Update workflow to use CI_BOT_TOKEN secret for Gitea authentication
- Configure proper git push URL for Gitea repository
- Update ci/README.md with comprehensive Gitea Actions setup instructions
- Add GITEA-ACTIONS-SETUP.md with detailed configuration guide
- Update README.md to reference Gitea Actions setup documentation
- Remove old GitHub Actions workflow file
- Provide step-by-step token creation and repository secret configuration
- Include troubleshooting guide and security considerations
2025-08-11 10:47:39 +07:00

112 lines
4.2 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gitea Actions Auto-Sort Configuration for Datasheets and Images
# This workflow automatically moves files with specific prefixes to their correct directories
name: Auto-Sort Files
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
auto-sort:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.CI_BOT_TOKEN }}
- name: Auto-sort datasheets and images
run: |
#!/bin/bash
set -e
# Flag to track if any files were moved
FILES_MOVED=false
# Function to move files with logging
move_file() {
local src="$1"
local dest="$2"
local dest_dir=$(dirname "$dest")
# Create destination directory if it doesn't exist
mkdir -p "$dest_dir"
# Move file if it's not already in the correct location
if [ "$src" != "$dest" ] && [ -f "$src" ]; then
echo "Moving: $src -> $dest"
mv "$src" "$dest"
FILES_MOVED=true
fi
}
# Find and move datasheet files (DS_ prefix)
echo "Searching for datasheet files with DS_ prefix..."
find . -name "DS_*.pdf" -o -name "DS_*.doc" -o -name "DS_*.docx" -o -name "DS_*.txt" | while read file; do
# Skip files already in docs/datasheets/
if [[ "$file" != ./docs/datasheets/* ]]; then
filename=$(basename "$file")
move_file "$file" "docs/datasheets/$filename"
fi
done
# Find and move image files (IMG_ prefix)
echo "Searching for image files with IMG_ prefix..."
find . -name "IMG_*.png" -o -name "IMG_*.jpg" -o -name "IMG_*.jpeg" -o -name "IMG_*.svg" -o -name "IMG_*.gif" -o -name "IMG_*.pdf" -o -name "IMG_*.webp" | while read file; do
# Skip files already in docs/images/
if [[ "$file" != ./docs/images/* ]]; then
filename=$(basename "$file")
move_file "$file" "docs/images/$filename"
fi
done
# Check if any files were moved
if [ "$FILES_MOVED" = true ]; then
echo "Files were moved. Setting output for commit step."
echo "files_moved=true" >> $GITHUB_OUTPUT
else
echo "No files needed to be moved."
echo "files_moved=false" >> $GITHUB_OUTPUT
fi
id: sort_files
- name: Commit moved files
if: steps.sort_files.outputs.files_moved == 'true'
run: |
git config --local user.email "ci-bot@b4l.co.th"
git config --local user.name "B4L CI Auto-Sort Bot"
git add docs/datasheets/ docs/images/
git commit -m "Auto-sort: Move DS_ and IMG_ prefixed files to correct directories
- Moved datasheet files (DS_*) to docs/datasheets/
- Moved image files (IMG_*) to docs/images/
- Automated by Gitea Actions auto-sort workflow"
- name: Push changes
if: steps.sort_files.outputs.files_moved == 'true'
run: |
git push https://ci-bot:${{ secrets.CI_BOT_TOKEN }}@git.b4l.co.th/B4L/b4l-project-template.git HEAD:${{ github.ref_name }}
- name: Create summary
run: |
echo "## Auto-Sort Results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [ "${{ steps.sort_files.outputs.files_moved }}" = "true" ]; then
echo "✅ Files were automatically moved to correct directories" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Moved Files:" >> $GITHUB_STEP_SUMMARY
echo "- Datasheet files (DS_*) → docs/datasheets/" >> $GITHUB_STEP_SUMMARY
echo "- Image files (IMG_*) → docs/images/" >> $GITHUB_STEP_SUMMARY
else
echo " No files needed to be moved - all files are properly organized" >> $GITHUB_STEP_SUMMARY
fi
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Supported Prefixes:" >> $GITHUB_STEP_SUMMARY
echo "- **DS_**: Datasheets (PDF, DOC, DOCX, TXT)" >> $GITHUB_STEP_SUMMARY
echo "- **IMG_**: Images (PNG, JPG, SVG, GIF, PDF, WEBP)" >> $GITHUB_STEP_SUMMARY