name: Release Obsidian plugin on: push: tags: - "*" permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js uses: actions/setup-node@v4 with: node-version: "20.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/}" files=() for file in main.js manifest.json styles.css; do if [ -f "$file" ]; then files+=("$file") else echo "Warning: $file not found" exit 1 fi done gh release create "$tag" \ --title="$tag" \ --draft \ "${files[@]}"