Release Obsidian Plugin #69
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Obsidian 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 | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| id-token: write | |
| attestations: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # otherwise, you will failed to push refs to dest repo | |
| submodules: recursive | |
| - name: Use Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24.x' # You might need to adjust this value to your own version | |
| # Get the version number and put it in a variable | |
| - name: Get Version | |
| id: version | |
| run: | | |
| echo "tag=$(git describe --abbrev=0 --tags)" >> $GITHUB_OUTPUT | |
| # Build the plugin | |
| - name: Build | |
| id: build | |
| run: | | |
| npm ci | |
| npm run build --if-present | |
| # Attest | |
| - name: Attest Plugin Artifacts | |
| uses: actions/attest-build-provenance@v4 | |
| with: | |
| subject-path: | | |
| main.js | |
| manifest.json | |
| styles.css | |
| # 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 }}-${{ steps.version.outputs.tag }}.zip ${{ github.event.repository.name }} | |
| - name: Create Release and Upload Assets | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| ${{ github.event.repository.name }}-${{ steps.version.outputs.tag }}.zip | |
| main.js | |
| manifest.json | |
| styles.css | |
| name: ${{ steps.version.outputs.tag }} | |
| tag_name: ${{ steps.version.outputs.tag }} | |
| draft: true |