feat: automatic releases (#165)
This uses: 1) Renovate for managing the latest `thelounge` version. 2) Release Please Action for automating creation of release PRs and releases (once the release PR is merged). 3) Automerge Action for automatically merging PRs created by Release Please Action.
This commit is contained in:
parent
c01bd0b076
commit
bec4974f55
34
.github/workflows/automerge.yml
vendored
Normal file
34
.github/workflows/automerge.yml
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
name: automerge
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
- synchronize
|
||||
- opened
|
||||
- edited
|
||||
- ready_for_review
|
||||
- reopened
|
||||
- unlocked
|
||||
pull_request_review:
|
||||
types:
|
||||
- submitted
|
||||
check_suite:
|
||||
types:
|
||||
- completed
|
||||
status: {}
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
automerge:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- id: automerge
|
||||
name: automerge
|
||||
uses: pascalgn/automerge-action@v0.15.6
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
25
.github/workflows/release-please.yml
vendored
Normal file
25
.github/workflows/release-please.yml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: google-github-actions/release-please-action@v3
|
||||
id: release
|
||||
with:
|
||||
release-type: simple
|
||||
package-name: thelounge-docker
|
||||
prerelease: true
|
||||
include-v-in-tag: false
|
||||
labels: |
|
||||
automerge
|
24
renovate.json
Normal file
24
renovate.json
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"automerge": true,
|
||||
"platformAutomerge": true,
|
||||
"automergeType": "pr",
|
||||
"commitBody": "Release-As: {{newVersion}}",
|
||||
"enabledManagers": ["regex"],
|
||||
"regexManagers": [
|
||||
{
|
||||
"fileMatch": ["Dockerfile", "Makefile"],
|
||||
"matchStrings": [
|
||||
"THELOUNGE_VERSION\\??=(?<currentValue>[^\\s]+)"
|
||||
],
|
||||
"datasourceTemplate": "npm",
|
||||
"packageNameTemplate": "thelounge"
|
||||
}
|
||||
],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchPackageNames": ["thelounge"],
|
||||
"allowedVersions": "\\d+\\.\\d+\\.\\d+.*"
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue