Dependabot & security issues wegwerken #27
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: Dependabot & security issues wegwerken | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 0 1,15 * *" | |
| jobs: | |
| create_issue: | |
| name: Create dependabot cleanup issue | |
| runs-on: ubuntu-latest | |
| permissions: | |
| issues: write | |
| contents: write | |
| steps: | |
| - name: Get week number | |
| id: week | |
| run: echo "week_number=$(date +%V)" >> $GITHUB_OUTPUT | |
| - name: Create issue | |
| id: create | |
| run: | | |
| if [[ $CLOSE_PREVIOUS == true ]]; then | |
| previous_issue_number=$(gh issue list \ | |
| --label "$LABELS" \ | |
| --json number \ | |
| --jq '.[0].number') | |
| if [[ -n $previous_issue_number ]]; then | |
| gh issue close "$previous_issue_number" | |
| fi | |
| fi | |
| prefixed_title="[Week ${WEEK}] ${TITLE}" | |
| new_issue_url=$(gh issue create \ | |
| --title "$prefixed_title" \ | |
| --label "$LABELS" \ | |
| --body "$BODY") | |
| echo "new_issue_url=$new_issue_url" >> $GITHUB_OUTPUT | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GH_REPO: ${{ github.repository }} | |
| WEEK: ${{ steps.week.outputs.week_number }} | |
| TITLE: Dependabot & security updates verwerken | |
| LABELS: dependencies | |
| BODY: | | |
| ## TLDR | |
| Elke sprint moeten we kijken of er nieuwe dependabot PR's open staan en kunnen we de packages in ons project handmatig updaten. Zodra de main dependabot PR gemerged is, sluit dependabot automatisch alle kleine PRs. Elke sprint wordt een nieuw persoon assigned aan deze taak. Afhankelijk van hoelang deze taak blijkt te duren, kan de werkwijze aangepast worden. | |
| ## Actiepunten | |
| - [ ] Bij patch en minor versie updates, is dit een kwestie van ervoor zorgen dat de dependabot PR niet breekt. | |
| - [ ] Bij major versie, controleren van de betreffende changelog, lokaal draaien, controleren of er iets fout gaat. Als de vervolgstappen veel tijd kosten, afstemmen met community of dit gedeeld kan worden. | |
| - [ ] Als er iets fout gaat dat niet opgevangen wordt door een test, dan een issue aanmaken om dit op te vangen met een nieuwe test. | |
| ## Acceptatiecriteria | |
| - Alle Dependabot PR's zijn verwerkt of geüpdatet. | |
| - Nieuwe issues voor vervolgstappen zijn aangemaakt en gelinkt. | |
| CLOSE_PREVIOUS: true | |
| - name: Link to parent issue | |
| run: | | |
| parent_issue_number=36 | |
| new_issue_number=$(echo "${{ steps.create.outputs.new_issue_url }}" | awk -F'/' '{print $NF}') | |
| gh issue comment $parent_issue_number --body "- [ ] #$new_issue_number" | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GH_REPO: ${{ github.repository }} | |
| - name: Add to personal project | |
| run: | | |
| project_id=$(gh project view "Community Sprint - Rijkshuisstijl" --json id -q ".id") | |
| new_issue_number=$(echo "${{ steps.create.outputs.new_issue_url }}") | |
| gh project item-add "$project_id" --url $new_issue_number --owner eslook | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |