mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 19:10:32 +00:00
Update Semantic Release (#3807)
* Update Semantic Release Improved CI for producing release packages - Generates and includes version.txt - Extended types for releases and release notes - unity-packer is executed by semantic-release - releaserc fully rewritten with comments * fixed typos
This commit is contained in:
parent
be29b59672
commit
008c01e2bd
20
.github/workflows/Semantic.yml
vendored
20
.github/workflows/Semantic.yml
vendored
@ -15,28 +15,22 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Delete Tests
|
|
||||||
run: |
|
|
||||||
Remove-Item -Recurse -Force Assets\Mirror\Tests
|
|
||||||
Remove-Item -Recurse -Force Assets\Mirror\Tests.meta
|
|
||||||
|
|
||||||
- name: Setup dotnet
|
- name: Setup dotnet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@v4
|
||||||
with:
|
with:
|
||||||
dotnet-version: '3.1.100'
|
dotnet-version: '3.1.100'
|
||||||
|
|
||||||
# Installs nuget package from https://www.nuget.org/packages/unity-packer
|
# Installs nuget package from https://www.nuget.org/packages/unity-packer
|
||||||
|
# Used by Semantic Release to create the Unity package.
|
||||||
- name: Install unity-packer
|
- name: Install unity-packer
|
||||||
run: dotnet tool install -g unity-packer
|
run: dotnet tool install -g unity-packer
|
||||||
|
|
||||||
|
# Install conventional-changelog-conventionalcommits
|
||||||
|
# Required for Semantic Release Notes Generator
|
||||||
|
- name: Install conventional-changelog-conventionalcommits
|
||||||
|
run: npm i -D conventional-changelog-conventionalcommits
|
||||||
|
|
||||||
- name: Package
|
# See .releaserc.yml for configuration of semantic-release
|
||||||
run: unity-packer pack Mirror.unitypackage Assets/Mirror Assets/Mirror Assets/ScriptTemplates Assets/ScriptTemplates LICENSE Assets/Mirror/LICENSE
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: Mirror.unitypackage
|
|
||||||
path: Mirror.unitypackage
|
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: cycjimmy/semantic-release-action@v4
|
uses: cycjimmy/semantic-release-action@v4
|
||||||
with:
|
with:
|
||||||
|
@ -1,33 +1,54 @@
|
|||||||
{
|
verifyConditions:
|
||||||
verifyConditions: ["@semantic-release/github"],
|
- "@semantic-release/github"
|
||||||
prepare: [
|
|
||||||
{
|
plugins:
|
||||||
"path": "@semantic-release/exec",
|
# Determines the type of release to create, if any.
|
||||||
"prepareCmd": "echo ${nextRelease.version} > Assets/Mirror/version.txt"
|
# See https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type
|
||||||
}
|
# More types can be added here and in release-notes-generator below.
|
||||||
],
|
- - '@semantic-release/commit-analyzer'
|
||||||
publish: [
|
- preset: "angular"
|
||||||
{
|
releaseRules:
|
||||||
"path": "@semantic-release/github",
|
- type: "breaking"
|
||||||
"assets": [
|
release: "major"
|
||||||
{"path": "Mirror.unitypackage", "label": "Mirror Unity Package", "name": "Mirror-${nextRelease.version}.unitypackage"}
|
- type: "release"
|
||||||
]
|
release: "major"
|
||||||
}
|
- type: "feature"
|
||||||
],
|
release: "minor"
|
||||||
"plugins": [
|
|
||||||
["@semantic-release/commit-analyzer", {
|
# Extends the behavior of semantic-release to generate release notes.
|
||||||
"preset": "angular",
|
# 'fix' and 'feat' are built in and don't need to be defined here.
|
||||||
"releaseRules": [
|
# More types can be added to correspond with commit-analyzer above.
|
||||||
{"type": "breaking", "release": "major"},
|
- - '@semantic-release/release-notes-generator'
|
||||||
{"type": "feature", "release": "minor"},
|
- preset: "conventionalcommits"
|
||||||
]
|
presetConfig:
|
||||||
}],
|
types:
|
||||||
['@semantic-release/release-notes-generator', {
|
- type: "breaking"
|
||||||
"preset": "angular",
|
section: "Breaking Changes"
|
||||||
"releaseRules": [
|
hidden: false
|
||||||
{"type": "breaking", "release": "major"},
|
- type: "release"
|
||||||
{"type": "feature", "release": "minor"},
|
section: "Release"
|
||||||
]
|
hidden: false
|
||||||
}],
|
- type: "feature"
|
||||||
]
|
section: "Features"
|
||||||
}
|
hidden: false
|
||||||
|
|
||||||
|
# Write the new version in version.txt
|
||||||
|
- - '@semantic-release/exec'
|
||||||
|
- prepareCmd: "echo ${nextRelease.version} > Assets/Mirror/version.txt"
|
||||||
|
|
||||||
|
# Remove Test folder so it's excluded from Unity package
|
||||||
|
# -f: force, -r: recursive, -q: quiet
|
||||||
|
- - '@semantic-release/exec'
|
||||||
|
- prepareCmd: "rm -f -r -q Assets/Mirror/Tests
|
||||||
|
&& rm -f -q Assets/Mirror/Tests.meta"
|
||||||
|
|
||||||
|
# Create Unity package with Mirror, ScriptTemplates, and LICENSE
|
||||||
|
- - '@semantic-release/exec'
|
||||||
|
- prepareCmd: "unity-packer pack Mirror.unitypackage Assets/Mirror Assets/Mirror Assets/ScriptTemplates Assets/ScriptTemplates LICENSE Assets/Mirror/LICENSE"
|
||||||
|
|
||||||
|
# Create a new release on GitHub
|
||||||
|
- - '@semantic-release/github'
|
||||||
|
- assets:
|
||||||
|
- path: "Mirror.unitypackage"
|
||||||
|
label: "Mirror Unity Package"
|
||||||
|
name: "Mirror-${nextRelease.version}.unitypackage"
|
||||||
|
Loading…
Reference in New Issue
Block a user