chore: setup renovate (#64)

This commit is contained in:
Julian Tölle 2024-09-21 13:29:26 +02:00 committed by GitHub
parent dc1903c4b4
commit 7bd752c2f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 125 additions and 23 deletions

View file

@ -0,0 +1,16 @@
name: "Setup mdbook"
inputs:
version:
description: "mdbook version"
runs:
using: composite
steps:
- name: Setup mdbook
shell: bash
env:
url: https://github.com/rust-lang/mdbook/releases/download/${{ inputs.version }}/mdbook-${{ inputs.version }}-x86_64-unknown-linux-gnu.tar.gz
run: |
mkdir mdbook
curl -sSL "$url" | tar -xz --directory=./mdbook
echo `pwd`/mdbook >> $GITHUB_PATH

80
.github/renovate.json5 vendored Normal file
View file

@ -0,0 +1,80 @@
{
"extends": [
":semanticCommits",
":semanticCommitTypeAll(deps)",
":semanticCommitScopeDisabled",
":dependencyDashboard",
":approveMajorUpdates",
":automergeMinor",
":automergeLinters",
":automergeTesters",
":automergeTypes",
":maintainLockFilesWeekly",
":enableVulnerabilityAlerts",
"helpers:pinGitHubActionDigests"
],
"packageRules": [
{
"groupName": "linters",
"matchUpdateTypes": [
"minor",
"patch"
],
"matchDepNames": [
"golangci/golangci-lint"
],
"automerge": true
},
{
"groupName": "testing",
"matchUpdateTypes": [
"minor",
"patch"
],
"matchDepNames": [
"github.com/stretchr/testify"
],
"automerge": true
},
{
"groupName": "github-actions",
"matchUpdateTypes": [
"minor",
"patch"
],
"matchDepTypes": [
"action"
],
"automerge": true
},
{
"groupName": "gitlab-ci",
"matchUpdateTypes": [
"minor",
"patch"
],
"matchPackageNames": [
"registry.gitlab.com/gitlab-org/release-cli"
],
"automerge": true
}
],
"customManagers": [
{
"customType": "regex",
"fileMatch": [
".+\\.ya?ml$"
],
"matchStrings": [
": (?<currentValue>.+) # renovate: datasource=(?<datasource>[a-z-]+) depName=(?<depName>[^\\s]+)(?: lookupName=(?<lookupName>[^\\s]+))?(?: versioning=(?<versioning>[a-z-]+))?(?: extractVersion=(?<extractVersion>[^\\s]+))?"
]
}
],
"postUpdateOptions": [
"gomodUpdateImportPaths",
"gomodTidy"
]
}

View file

@ -5,7 +5,6 @@ on:
branches: [main]
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
@ -24,7 +23,6 @@ jobs:
version: v1.60.1 # renovate: datasource=github-releases depName=golangci/golangci-lint
args: --timeout 5m
test:
runs-on: ubuntu-latest
steps:

View file

@ -8,33 +8,32 @@ jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write # To push a branch
pages: write # To push to a GitHub Pages site
contents: write # To push a branch
pages: write # To push to a GitHub Pages site
id-token: write # To update the deployment status
steps:
- uses: actions/checkout@v4
with:
lfs: "true"
- name: Install latest mdbook
run: |
tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name')
url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz"
mkdir mdbook
curl -sSL $url | tar -xz --directory=./mdbook
echo `pwd`/mdbook >> $GITHUB_PATH
- uses: ./.github/actions/setup-mdbook
with:
version: v0.4.40 # renovate: datasource=github-releases depName=rust-lang/mdbook
- name: Build Book
run: |
# This assumes your book is in the root of your repository.
# Just add a `cd` here if you need to change to another directory.
cd docs
mdbook build
working-directory: docs
run: mdbook build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: 'docs/book'
path: "docs/book"
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

View file

@ -1,4 +1,4 @@
stages: [release]
stages: [ release ]
# For the GitLab CI/CD component to be usable, it needs to be published in
# the CI/CD catalog. This happens on new releases.
@ -6,7 +6,7 @@ stages: [release]
# and create a corresponding GitLab Release.
create-release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
image: registry.gitlab.com/gitlab-org/release-cli:v0.18.0
script: echo "Creating release $CI_COMMIT_TAG"
rules:
- if: $CI_COMMIT_TAG

View file

@ -43,6 +43,7 @@ You can now edit the message for a pull request after merging by adding a \```rp
- **cli**: show release PR url in log messages (#44)
## [v0.2.0](https://github.com/apricote/releaser-pleaser/releases/tag/v0.2.0)
### Features
- update version references in any files (#14)
@ -55,6 +56,7 @@ You can now edit the message for a pull request after merging by adding a \```rp
- **action**: invalid quoting for extra-files arg (#25)
## [v0.2.0-beta.2](https://github.com/apricote/releaser-pleaser/releases/tag/v0.2.0-beta.2)
### Features
- update version references in any files (#14)
@ -65,6 +67,7 @@ You can now edit the message for a pull request after merging by adding a \```rp
- **ci**: ko pipeline permissions (#23)
## [v0.2.0-beta.1](https://github.com/apricote/releaser-pleaser/releases/tag/v0.2.0-beta.1)
### Features
- update version references in any files (#14)
@ -74,13 +77,14 @@ You can now edit the message for a pull request after merging by adding a \```rp
- **ci**: building release image fails (#21)
## [v0.2.0-beta.0](https://github.com/apricote/releaser-pleaser/releases/tag/v0.2.0-beta.0)
### Features
- update version references in any files (#14)
## [v0.1.0](https://github.com/apricote/releaser-pleaser/releases/tag/v0.1.0)
### This is the first release ever, so it also includes a lot of other functionality.
### This is the first release ever, so it also includes a lot of other functionality.
### Features

View file

@ -1,6 +1,7 @@
# releaser-pleaser
`releaser-pleaser` is a tool designed to automate versioning and changelog management for your projects. Building on the concepts of [`release-please`](https://github.com/googleapis/release-please), it streamlines the release process through GitHub Actions or GitLab CI.
`releaser-pleaser` is a tool designed to automate versioning and changelog management for your projects. Building on the concepts of [
`release-please`](https://github.com/googleapis/release-please), it streamlines the release process through GitHub Actions or GitLab CI.
## Features
@ -20,14 +21,18 @@ This project is still under active development. You can not reasonably use it ri
## Relation to `release-please`
After using `release-please` for 1.5 years, I've found it to be the best tool for low-effort releases currently available. While I appreciate many of its features, I identified several additional capabilities that would significantly enhance my workflow. Although it might be possible to incorporate these features into `release-please`, I decided to channel my efforts into creating a new tool that specifically addresses my needs.
After using
`release-please` for 1.5 years, I've found it to be the best tool for low-effort releases currently available. While I appreciate many of its features, I identified several additional capabilities that would significantly enhance my workflow. Although it might be possible to incorporate these features into
`release-please`, I decided to channel my efforts into creating a new tool that specifically addresses my needs.
Key differences in `releaser-pleaser` include:
- Support for multiple forges (both GitHub and GitLab)
- Better support for pre-releases
One notable limitation of `release-please` is its deep integration with the GitHub API, making the addition of support for other platforms (like GitLab) a substantial undertaking. `releaser-pleaser` aims to overcome this limitation by design, offering a more versatile solution for automated release management across different platforms and project requirements.
One notable limitation of
`release-please` is its deep integration with the GitHub API, making the addition of support for other platforms (like GitLab) a substantial undertaking.
`releaser-pleaser` aims to overcome this limitation by design, offering a more versatile solution for automated release management across different platforms and project requirements.
## License