From df978e3bda6d14e5b345053a36a0712578c0dd59 Mon Sep 17 00:00:00 2001 From: Richard Hao Date: Thu, 4 Jan 2024 01:27:30 +0800 Subject: [PATCH] feat(ci): add publish.yml --- .github/workflows/publish.yml | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..1705712 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,70 @@ +name: Build plugin + +on: + push: + # Sequence of patterns matched against refs/tags + tags: + - '*' # Push events to matching any tag format, i.e. 1.0, 20.15.10 + +permissions: + contents: write + +env: + PLUGIN_NAME: logseq-plugin-vocabulary-card + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '16' # You might need to adjust this value to your own version + + - uses: extractions/setup-just@v1 + with: + just-version: 0.8 # optional semver specification, otherwise latest + + - uses: jetli/wasm-pack-action@v0.4.0 + with: + version: 'latest' + + - uses: pnpm/action-setup@v2.2.1 + with: + version: 6.0.2 + + - name: Build the project + run: just build + + - name: Build + id: build + run: | + mkdir ${{ env.PLUGIN_NAME }} + cp ./plugin/README.md ./plugin/package.json demo.gif ${{ env.PLUGIN_NAME }} + mv ./plugin/dist ${{ 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 + uses: ncipollo/release-action@v1 + id: create_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VERSION: ${{ github.ref }} + with: + allowUpdates: true + 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