push version 11.0.0 #12
This file contains hidden or 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: Regenerate Repository Indexes | |
| on: | |
| push: | |
| branches: | |
| - master | |
| paths: | |
| - '**.jar' | |
| workflow_dispatch: | |
| inputs: | |
| force: | |
| description: 'Force regeneration of all indexes (ignore cache)' | |
| required: false | |
| default: 'false' | |
| type: boolean | |
| jobs: | |
| regenerate-indexes: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| fetch-depth: 0 | |
| - name: Set up environment | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y openjdk-11-jdk unzip gzip coreutils | |
| - name: Make scripts executable | |
| run: chmod +x generate-repository-index.sh | |
| - name: Regenerate release indexes | |
| run: | | |
| echo "Regenerating indexes for release/..." | |
| if [ "${{ inputs.force }}" = "true" ]; then | |
| ./generate-repository-index.sh --force release | |
| else | |
| ./generate-repository-index.sh release | |
| fi | |
| - name: Regenerate snapshot indexes | |
| run: | | |
| echo "Regenerating indexes for snapshot/..." | |
| if [ "${{ inputs.force }}" = "true" ]; then | |
| ./generate-repository-index.sh --force snapshot | |
| else | |
| ./generate-repository-index.sh snapshot | |
| fi | |
| - name: Regenerate dependencies indexes | |
| run: | | |
| echo "Regenerating indexes for dependencies/..." | |
| if [ "${{ inputs.force }}" = "true" ]; then | |
| ./generate-repository-index.sh --force dependencies | |
| else | |
| ./generate-repository-index.sh dependencies | |
| fi | |
| - name: Regenerate cnf/releaserepo indexes (legacy) | |
| run: | | |
| if [ -d "cnf/releaserepo" ]; then | |
| echo "Regenerating indexes for cnf/releaserepo..." | |
| if [ "${{ inputs.force }}" = "true" ]; then | |
| ./generate-repository-index.sh --force cnf/releaserepo | |
| else | |
| ./generate-repository-index.sh cnf/releaserepo | |
| fi | |
| else | |
| echo "cnf/releaserepo not found, skipping..." | |
| fi | |
| - name: Check for changes | |
| id: check_changes | |
| run: | | |
| git diff --exit-code || echo "changes=true" >> $GITHUB_OUTPUT | |
| - name: Commit and push changes | |
| if: steps.check_changes.outputs.changes == 'true' | |
| run: | | |
| git config user.name "GitHub Actions Bot" | |
| git config user.email "actions@github.com" | |
| git add release/index.xml release/index.xml.gz release/*/maven-metadata.xml 2>/dev/null || true | |
| git add snapshot/index.xml snapshot/index.xml.gz snapshot/*/maven-metadata.xml 2>/dev/null || true | |
| git add dependencies/index.xml dependencies/index.xml.gz dependencies/*/maven-metadata.xml 2>/dev/null || true | |
| git add cnf/releaserepo/index.xml cnf/releaserepo/index.xml.gz cnf/releaserepo/*/maven-metadata.xml 2>/dev/null || true | |
| git commit -m "Auto-regenerate repository indexes" \ | |
| -m "Generated by GitHub Actions after JAR file update" \ | |
| -m "[skip ci]" | |
| git push | |
| - name: No changes detected | |
| if: steps.check_changes.outputs.changes != 'true' | |
| run: echo "No changes to indexes detected" |