From c4594069e6598c190895fb2a7ea63f7b2667c64e Mon Sep 17 00:00:00 2001
From: Zachatoo <Zachatoo@users.noreply.github.com>
Date: Sat, 15 Oct 2022 23:30:00 -0600
Subject: [PATCH] Add release github action

---
 .github/workflows/release.yaml | 89 ++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)
 create mode 100644 .github/workflows/release.yaml

diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
new file mode 100644
index 0000000..fbdae18
--- /dev/null
+++ b/.github/workflows/release.yaml
@@ -0,0 +1,89 @@
+name: Release Obsidian Plugin
+on:
+    push:
+        tags:
+            - "*"
+jobs:
+    build:
+        runs-on: ubuntu-latest
+        steps:
+            - uses: actions/checkout@v2
+              with:
+                  fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
+            - name: Use Node.js
+              uses: actions/setup-node@v1
+              with:
+                  node-version: "14.x"
+            # Get the version number and put it in a variable
+            - name: Get Version
+              id: version
+              run: |
+                  echo "::set-output name=tag::$(git describe --abbrev=0)"
+            # Build the plugin
+            - name: Build
+              id: build
+              run: |
+                  npm install
+                  npm run build --if-present
+            # 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 }}
+                  zip -r ${{ github.event.repository.name }}.zip ${{ github.event.repository.name }}
+            # Create the release on github
+            - 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
+            # Upload the packaged release file
+            - 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: ./${{ github.event.repository.name }}.zip
+                  asset_name: ${{ github.event.repository.name }}-${{ steps.version.outputs.tag }}.zip
+                  asset_content_type: application/zip
+            # Upload the main.js
+            - 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
+            # Upload the manifest.json
+            - 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
+            # Upload the style.css
+            - 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=