-
Notifications
You must be signed in to change notification settings - Fork 13
/
.releaserc.yaml
57 lines (50 loc) · 1.96 KB
/
.releaserc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Semantic Release Configuration
# https://semantic-release.gitbook.io/semantic-release/usage/configuration
# Any merges into branches that match these patterns will trigger a release.
branches:
- name: main
#- name: 'v+([0-9])?(.{+([0-9]),x}).x'
# These plugins will run when a release is triggered. They will analyze commit
# messages to determine what kind of release this is and publish a new release.
plugins:
# Analyze commit messages to determine next version
- "@semantic-release/commit-analyzer"
# Generate release notes
- "@semantic-release/release-notes-generator"
# Replace version strings in the project. The 'git' plugin is needed to
# commit the version strings to the repository.
- - "@google/semantic-release-replace-plugin"
- replacements:
- files:
- Cargo.toml
from: '^version = .*"$'
to: 'version = "${nextRelease.version}"'
- files:
- pkg/rpm/inputplumber.spec
from: '^Version: .*$'
to: 'Version: ${nextRelease.version}'
- files:
- pkg/archlinux/PKGBUILD
from: '^pkgver=v.*$'
to: 'pkgver=v${nextRelease.version}'
# Execute commands to build the project
- - "@semantic-release/exec"
- shell: true
prepareCmd: "make in-docker TARGET='dist update-pkgbuild-hash'"
publishCmd: "echo '${nextRelease.version}' > .version.txt"
# Commit the following changes to git after other plugins have run
- - "@semantic-release/git"
- assets:
- Cargo.toml
- Cargo.lock
- pkg/rpm/inputplumber.spec
- pkg/archlinux/PKGBUILD
# Publish artifacts as a GitHub release
- - "@semantic-release/github"
- assets:
- path: dist/inputplumber-*.rpm
- path: dist/inputplumber-*.rpm.sha256.txt
- path: dist/inputplumber.tar.gz
- path: dist/inputplumber.tar.gz.sha256.txt
- path: dist/inputplumber.raw
- path: dist/inputplumber.raw.sha256.txt