v0.7.2 #3
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: generate-fedora-spec | |
| on: | |
| release: | |
| types: ["published"] | |
| jobs: | |
| generate-spec: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: Install yq | |
| run: | | |
| sudo curl -L https://github.com/mikefarah/yq/releases/download/v4.34.1/yq_linux_amd64 -o /usr/local/bin/yq | |
| sudo chmod +x /usr/local/bin/yq | |
| - name: Verify yq installation | |
| run: yq --version | |
| - name: Install rpmlint | |
| run: sudo apt-get install -y rpmlint | |
| - name: Generate spec files | |
| run: ./pkg/bin/generate_spec.sh | |
| env: | |
| GH_RELEASE_NAME: ${{ github.event.release.name }} | |
| GH_RELEASE_TAG: ${{ github.event.release.tag_name }} | |
| GH_REPO_URL: ${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ github.event.release.tag_name }} | |
| - name: Validate generated spec files | |
| run: | | |
| for spec_file in pkg/fedora-spec/*.spec; do | |
| echo "Validating $spec_file" | |
| rpmlint $spec_file || exit 1 | |
| done | |
| - name: Create Branch and Commit Changes | |
| run: | | |
| git config --global user.name 'github-actions[bot]' | |
| git config --global user.email 'github-actions[bot]@users.noreply.github.com' | |
| branch_name="chore/update-spec-files-${{ github.event.release.tag_name }}" | |
| git checkout -b $branch_name | |
| git add pkg/fedora-spec/*.spec | |
| git commit -m "chore: Update spec files for release ${{ github.event.release.tag_name }}" | |
| git push origin $branch_name | |
| - name: Create Pull Request | |
| uses: actions/github-script@v6 | |
| with: | |
| script: | | |
| const { repo, owner } = context.repo; | |
| const result = await github.rest.pulls.create({ | |
| owner, | |
| repo, | |
| title: `chore: Update spec files for release ${process.env.RELEASE_TAG}`, | |
| body: `Automated PR to update spec files following release ${process.env.RELEASE_TAG}`, | |
| head: `chore/update-spec-files-${process.env.RELEASE_TAG}`, | |
| base: 'master' | |
| }); | |
| await github.rest.issues.addLabels({ | |
| owner, | |
| repo, | |
| issue_number: result.data.number, | |
| labels: ['copr-update'] | |
| }); | |
| env: | |
| RELEASE_TAG: ${{ github.event.release.tag_name }} |