on:
schedule:
- cron: "15 20 5 6 *"
workflow_dispatch:
name: Update test CA
permissions:
pull-requests: write
jobs:
renew-minica:
runs-on: ubuntu-latest
steps:
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version: "1.22"
token: ${{ github.token }}
- name: Check out repository code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: "Install MiniCA"
run: go install github.com/jsha/minica@latest
- name: "Remove old certificates"
run: rm -f tests/minica/example.com/*.pem
- name: "Generate new certificates"
run: minica -domains example.com -dir tests/minica/example.com
- name: "Commit changes"
run: |
git config --global user.name "github-actions"
git config --global user.email "github-actions@github.com"
git switch -c chore/ca-update-$(date +'%Y-%m-%d')
git add tests/minica/example.com/*.pem
git commit -m "Update MiniCA certificates"
- name: "Create pull request"
run: |
git push origin
gh pr create -H chore/ca-update-$(date +'%Y-%m-%d') -B main --title "Update MiniCA certificates" --body "Automated certificate renewal"
env:
GITHUB_TOKEN: ${{ github.token }}