12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- name: Sync and Release Extensions
- on:
- push:
- branches:
- - main
- paths:
- - manifest.json
- env:
- ACTIONS_RUNNER_DEBUG: false
- CI_COMMIT_MESSAGE: CI Build Artifacts
- jobs:
- sync:
- if: github.repository_owner == 'rancher'
- name: Sync and Release Extensions
- runs-on: ubuntu-latest
- permissions: write-all
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- - name: Configure Git
- run: |
- git config user.name github-actions
- git config user.email github-actions@github.com
-
- - name: Setup Helm
- uses: azure/setup-helm@v3
- with:
- version: v3.12.1
- - name: Run sync script
- shell: bash
- id: sync_script
- run: |
- chmod +x ./scripts/sync
- ./scripts/sync
- - name: Commit Changes
- run: |
- git add ./{assets,charts,extensions,icons,index.yaml}
- git commit -a -m "${{ env.CI_COMMIT_MESSAGE }}"
- - name: Create Pull Request
- run: |
- # Create the PR using the GitHub CLI
- pr_number=$(gh pr create \
- --title "Create PR for extension sync: ${{ env.CI_COMMIT_MESSAGE }}" \
- --body "This PR was automatically created by a GitHub Action." \
- --base main \
- --head ${{ github.ref_name }} \
- --fill \
- --repo ${{ github.repository }} | awk '{print $NF}') # Get the PR URL and Extract the last element (the PR number)
- # Check if pr_number is empty (creation failed)
- if [ -z "$pr_number" ]; then
- echo "Failed to create PR."
- exit 1
- fi
-
- # Store the PR number as an output
- echo "pr_number=$pr_number" >> $GITHUB_OUTPUT
- - name: Run chart-releaser
- uses: helm/chart-releaser-action@v1.5.0
- with:
- charts_dir: ./charts/*
- env:
- CR_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
- CR_SKIP_EXISTING: true
- merge-pr:
- needs: sync
- runs-on: ubuntu-latest
- steps:
- - name: Merge Pull Request
- run: |
- # Merge the PR using the GitHub CLI
- gh pr merge ${{ needs.create-pr.outputs.pr_number }} --merge --repo ${{ github.repository }}
- if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|