mirror of
https://github.com/par274/sharpemu.git
synced 2026-07-28 13:40:58 +08:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0bac470771 | |||
| 37a4798ada | |||
| a9a4f511f0 | |||
| a44ce34a0a | |||
| 41ec56f813 |
@@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
Copyright (C) 2026 SharpEmu Emulator Project
|
||||||
|
SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
-->
|
||||||
|
|
||||||
|
## Before submitting
|
||||||
|
|
||||||
|
Please read our contribution guidelines before opening a pull request:
|
||||||
|
|
||||||
|
➡️ [**CONTRIBUTING.md**](CONTRIBUTING.md)
|
||||||
|
|
||||||
|
By opening this pull request, you confirm that you have read and agree to follow the contribution guidelines.
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
By submitting this PR, you confirm that:
|
||||||
|
|
||||||
|
- [ ] I have read `CONTRIBUTING.md`.
|
||||||
|
- [ ] I tested my changes.
|
||||||
|
- [ ] I wrote this description myself and did not copy AI-generated explanations.
|
||||||
|
- [ ] I listed the game(s) I tested, if applicable.
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# Copyright (C) 2026 SharpEmu Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# Tells the website repo to rebuild when a release is published, so
|
||||||
|
# sharpemu.app/downloads lists the new build within a minute.
|
||||||
|
name: Notify website
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published, released, edited, deleted]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
dispatch:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Trigger sharpemu-site rebuild
|
||||||
|
env:
|
||||||
|
TOKEN: ${{ secrets.SITE_DISPATCH_TOKEN }}
|
||||||
|
run: |
|
||||||
|
if [ -z "$TOKEN" ]; then
|
||||||
|
echo "SITE_DISPATCH_TOKEN is not set — skipping website rebuild."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
curl -fsS -X POST \
|
||||||
|
-H "Authorization: Bearer $TOKEN" \
|
||||||
|
-H "Accept: application/vnd.github+json" \
|
||||||
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||||
|
https://api.github.com/repos/sharpemu/sharpemu-site/dispatches \
|
||||||
|
-d '{"event_type":"release-published"}'
|
||||||
|
echo "Website rebuild requested."
|
||||||
@@ -9,7 +9,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
|||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
<SharpEmuVersion>0.0.2</SharpEmuVersion>
|
<SharpEmuVersion>0.0.2-beta.2</SharpEmuVersion>
|
||||||
<Version>$(SharpEmuVersion)</Version>
|
<Version>$(SharpEmuVersion)</Version>
|
||||||
|
|
||||||
<RepoRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)'))</RepoRoot>
|
<RepoRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)'))</RepoRoot>
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
<!--
|
||||||
|
Copyright (C) 2026 SharpEmu Emulator Project
|
||||||
|
SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
-->
|
||||||
|
|
||||||
|
## Release Script
|
||||||
|
|
||||||
|
SharpEmu releases are prepared and published using `scripts/release.py`.
|
||||||
|
|
||||||
|
The release process consists of two steps:
|
||||||
|
|
||||||
|
1. Prepare the version bump through a pull request.
|
||||||
|
2. Create and push the release tag after the pull request has been merged.
|
||||||
|
|
||||||
|
### Preparing a Release
|
||||||
|
|
||||||
|
Run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python scripts/release.py prepare 0.0.2-beta.2
|
||||||
|
```
|
||||||
|
|
||||||
|
This command will:
|
||||||
|
|
||||||
|
- Verify that the working tree is clean.
|
||||||
|
- Update the local `main` branch.
|
||||||
|
- Create a new branch named `release/0.0.2-beta.2`.
|
||||||
|
- Update `SharpEmuVersion` in `Directory.Build.props`.
|
||||||
|
- Create a version bump commit.
|
||||||
|
- Push the release branch to the remote repository.
|
||||||
|
|
||||||
|
Afterwards, open a pull request from:
|
||||||
|
|
||||||
|
```text
|
||||||
|
release/0.0.2-beta.2
|
||||||
|
```
|
||||||
|
|
||||||
|
into:
|
||||||
|
|
||||||
|
```text
|
||||||
|
main
|
||||||
|
```
|
||||||
|
|
||||||
|
### Publishing a Release
|
||||||
|
|
||||||
|
Once the pull request has been merged, update your local repository:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git switch main
|
||||||
|
git pull --ff-only
|
||||||
|
```
|
||||||
|
|
||||||
|
Then create and push the release tag:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python scripts/release.py tag 0.0.2-beta.2
|
||||||
|
```
|
||||||
|
|
||||||
|
This command will:
|
||||||
|
|
||||||
|
- Verify that the working tree is clean.
|
||||||
|
- Confirm that `Directory.Build.props` contains the requested version.
|
||||||
|
- Create an annotated Git tag (`v0.0.2-beta.2`).
|
||||||
|
- Push the tag to the remote repository.
|
||||||
|
|
||||||
|
Pushing the tag automatically triggers the GitHub Release workflow.
|
||||||
|
|
||||||
|
### Version Format
|
||||||
|
|
||||||
|
Specify the version **without** the `v` prefix.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```text
|
||||||
|
0.0.2
|
||||||
|
0.0.2-alpha.1
|
||||||
|
0.0.2-beta.1
|
||||||
|
0.0.2-beta.2
|
||||||
|
0.0.2-rc.1
|
||||||
|
```
|
||||||
|
|
||||||
|
The script automatically prefixes the Git tag with `v`.
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
|
||||||
|
- Run `prepare` only from the `main` branch.
|
||||||
|
- Run `tag` only after the version bump pull request has been merged.
|
||||||
|
- Do not create release tags manually before merging the version bump.
|
||||||
|
- Both commands require a clean working tree.
|
||||||
|
- The version in `Directory.Build.props` must exactly match the version passed to the `tag` command.
|
||||||
Reference in New Issue
Block a user