mirror of
https://github.com/zzunebye/remember-last-code-block-lang.git
synced 2026-07-22 07:32:37 +00:00
57 lines
No EOL
2.7 KiB
Markdown
57 lines
No EOL
2.7 KiB
Markdown
Manually releasing your plugin can be time-consuming and error-prone. In this guide, you'll configure your plugin to use [GitHub Actions](https://github.com/features/actions) to automatically create a release when you create a new tag.
|
|
|
|
1. In the root directory of your plugin, create a file called `release.yml` under `.github/workflows` with the following content:
|
|
```yml
|
|
name: Release Obsidian plugin
|
|
on:
|
|
push:
|
|
tags:
|
|
- "*"
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Use Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: "18.x"
|
|
- name: Build plugin
|
|
run: |
|
|
npm install
|
|
npm run build
|
|
- name: Create release
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
tag="${GITHUB_REF#refs/tags/}"
|
|
gh release create "$tag" \
|
|
--title="$tag" \
|
|
--draft \
|
|
main.js manifest.json styles.css
|
|
```
|
|
2. In your terminal, commit the workflow.
|
|
```bash
|
|
git add .github/workflows/release.yml
|
|
git commit -m "Add release workflow"
|
|
git push origin main
|
|
```
|
|
3. Browse to your repository on GitHub and select the **Settings** tab. Expand the **Actions** menu in the left sidebar, navigate to the **General** menu, scroll to the **Workflow permissions** section, select the **Read and write permissions** option, and save.
|
|
4. Create a tag that matches the version in the `manifest.json` file.
|
|
```bash
|
|
git tag -a 1.0.1 -m "1.0.1"
|
|
git push origin 1.0.1
|
|
```
|
|
- `-a` creates an [annotated tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging#_creating_tags).
|
|
- `-m` specifies the name of your release. For Obsidian plugins, this must be the same as the version.
|
|
5. Browse to your repository on GitHub and select the **Actions** tab. Your workflow might still be running, or it might have finished already.
|
|
6. When the workflow finishes, go back to the main page for your repository and select **Releases** in the sidebar on the right side. The workflow has created a draft GitHub release and uploaded the required assets as binary attachments.
|
|
7. Select **Edit** (pencil icon) on the right side of the release name.
|
|
8. Add release notes to let users know what happened in this release, and then select **Publish release**.
|
|
|
|
You've successfully set up your plugin to automatically create a GitHub release whenever you create a new tag.
|
|
|
|
- If this is the first release for this plugin, you're now ready to [Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin).
|
|
- If this is an update to an already published plugin, your users can now update to the latest version. |