-
-
Notifications
You must be signed in to change notification settings - Fork 53
Update example release.yml in GitHub Actions documentation #59
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -21,81 +21,47 @@ The GitHub Action workflow was originally created and shared by [argentum](https | |||||
|
||||||
jobs: | ||||||
build: | ||||||
runs-on: ubuntu-latest | ||||||
|
||||||
steps: | ||||||
- uses: actions/checkout@v2 | ||||||
- name: Use Node.js | ||||||
uses: actions/setup-node@v1 | ||||||
with: | ||||||
node-version: "14.x" | ||||||
|
||||||
- name: Build | ||||||
id: build | ||||||
run: | | ||||||
npm install | ||||||
npm run build | ||||||
mkdir ${{ env.PLUGIN_NAME }} | ||||||
cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }} | ||||||
zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }} | ||||||
ls | ||||||
echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)" | ||||||
|
||||||
- name: Create Release | ||||||
id: create_release | ||||||
uses: actions/create-release@v1 | ||||||
env: | ||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
VERSION: ${{ github.ref }} | ||||||
with: | ||||||
tag_name: ${{ github.ref }} | ||||||
release_name: ${{ github.ref }} | ||||||
draft: false | ||||||
prerelease: false | ||||||
|
||||||
- name: Upload zip file | ||||||
id: upload-zip | ||||||
uses: actions/upload-release-asset@v1 | ||||||
env: | ||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
with: | ||||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||||
asset_path: ./${{ env.PLUGIN_NAME }}.zip | ||||||
asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip | ||||||
asset_content_type: application/zip | ||||||
|
||||||
- name: Upload main.js | ||||||
id: upload-main | ||||||
uses: actions/upload-release-asset@v1 | ||||||
env: | ||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
with: | ||||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||||
asset_path: ./main.js | ||||||
asset_name: main.js | ||||||
asset_content_type: text/javascript | ||||||
|
||||||
- name: Upload manifest.json | ||||||
id: upload-manifest | ||||||
uses: actions/upload-release-asset@v1 | ||||||
env: | ||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
with: | ||||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||||
asset_path: ./manifest.json | ||||||
asset_name: manifest.json | ||||||
asset_content_type: application/json | ||||||
|
||||||
- name: Upload styles.css | ||||||
id: upload-css | ||||||
uses: actions/upload-release-asset@v1 | ||||||
env: | ||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
with: | ||||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||||
asset_path: ./styles.css | ||||||
asset_name: styles.css | ||||||
asset_content_type: text/css | ||||||
runs-on: ubuntu-latest | ||||||
|
||||||
steps: | ||||||
- uses: actions/checkout@v3 | ||||||
with: | ||||||
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You're right, but I'll remove this line in response to this conversation. |
||||||
- name: Use Node.js | ||||||
uses: actions/setup-node@v1 | ||||||
with: | ||||||
node-version: "18.x" # You might need to adjust this value to your own version. | ||||||
|
||||||
# Get the version number and put it in an environment file | ||||||
- name: Get Version | ||||||
id: version | ||||||
run: | | ||||||
echo "tag=$(git describe --tags $(git rev-list --tags --max-count=1))" >> $GITHUB_ENV | ||||||
|
||||||
# Build the plugin | ||||||
- name: Build | ||||||
id: build | ||||||
run: | | ||||||
npm install | ||||||
npm run build | ||||||
|
||||||
# Package the required files into a zip | ||||||
- name: Package | ||||||
run: | | ||||||
mkdir ${{ github.event.repository.name }} | ||||||
cp main.js manifest.json styles.css README.md ${{ github.event.repository.name }} | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
This assumes that the developer uses the plugin id as the repository name. To be honest, I'm not sure whether Obsidian cares about the zip file? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think Obsidian cares about the zip file, either. I do think it's convenient to have it if someone wants to download the compiled artifacts and not the I like the way that advanced-tables is doing it -- the plugin name is set in the I will push a commit in the near future which fixes this and several other things mentioned above. |
||||||
zip -r ${{ github.event.repository.name }}-${{ env.tag }}.zip ${{ github.event.repository.name }} | ||||||
|
||||||
- name: Release | ||||||
uses: softprops/action-gh-release@v1 | ||||||
with: | ||||||
files: | | ||||||
${{ github.event.repository.name }}-${{ env.tag }}.zip | ||||||
main.js | ||||||
main.css | ||||||
manifest.json | ||||||
styles.css | ||||||
|
||||||
``` | ||||||
|
||||||
1. In your terminal, commit the workflow. | ||||||
|
@@ -162,7 +128,6 @@ To enable standard-version for your plugin: | |||||
|
||||||
- `"t": ""` configures standard-version to remove the default `v` prefix to adhere to Obsidian's guidelines. | ||||||
|
||||||
|
||||||
To make a release: | ||||||
|
||||||
1. Commit your changes according to Conventional Commits. | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When is this necessary? I haven't seen any issues leaving this out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're totally right, I don't think this is needed either. Will remove
fetch-depth
in the next commit.