modified readme to make it more understandable #1
Workflow file for this run
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: Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| permissions: | |
| contents: write | |
| packages: write | |
| jobs: | |
| build-and-release: | |
| name: Build and Release | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Extract version from tag | |
| id: version | |
| run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT | |
| - name: Build and push Docker image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| push: true | |
| tags: | | |
| ghcr.io/${{ github.repository }}:${{ steps.version.outputs.VERSION }} | |
| ghcr.io/${{ github.repository }}:latest | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| - name: Create GitHub Release | |
| uses: actions/create-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: ${{ github.ref }} | |
| release_name: Release ${{ steps.version.outputs.VERSION }} | |
| body: | | |
| ## Create Pull Request Action - Python Port | |
| Release ${{ steps.version.outputs.VERSION }} | |
| ### Features | |
| - Complete Python port of create-pull-request action | |
| - All 30+ inputs and 4 outputs supported | |
| - Docker-based GitHub Action | |
| - PyGithub for GitHub API interactions | |
| - Comprehensive test coverage | |
| ### Usage | |
| ```yaml | |
| - name: Create Pull Request | |
| uses: ${{ github.repository }}@${{ steps.version.outputs.VERSION }} | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| commit-message: "Update files" | |
| branch: feature-branch | |
| title: "Automated PR" | |
| ``` | |
| ### Docker Image | |
| ``` | |
| ghcr.io/${{ github.repository }}:${{ steps.version.outputs.VERSION }} | |
| ``` | |
| See [README.md](https://github.com/${{ github.repository }}/blob/${{ steps.version.outputs.VERSION }}/README.md) for full documentation. | |
| draft: false | |
| prerelease: false | |
| update-major-tag: | |
| name: Update Major Version Tag | |
| runs-on: ubuntu-latest | |
| needs: build-and-release | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Extract major version | |
| id: major | |
| run: | | |
| TAG=${GITHUB_REF#refs/tags/} | |
| MAJOR=$(echo $TAG | cut -d. -f1) | |
| echo "MAJOR=$MAJOR" >> $GITHUB_OUTPUT | |
| - name: Update major version tag | |
| run: | | |
| git config user.name github-actions | |
| git config user.email github-actions@github.com | |
| git tag -fa ${{ steps.major.outputs.MAJOR }} -m "Update ${{ steps.major.outputs.MAJOR }} tag" | |
| git push origin ${{ steps.major.outputs.MAJOR }} --force |