name: Build and Release Tree-sitter Grammar permissions: contents: write # Trigger on push to main branch or manually on: push: branches: - main workflow_dispatch: # Allows manual triggering of the workflow jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '20' # or the version you need - name: Install dependencies run: npm install - name: Run build step run: npm run build - name: Create zip archive run: | zip -r grammar-with-artifacts.zip ./* - name: Release uses: softprops/action-gh-release@v2 with: files: grammar-with-artifacts.zip # release: # needs: build # runs-on: ubuntu-latest # steps: # - name: Download the artifact # uses: actions/download-artifact@v3 # with: # name: tree-sitter-grammar-release # # - name: Create GitHub Release # id: create_release # uses: actions/create-release@v1 # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}} # with: # tag_name: v${{ github.run_number }} # release_name: Release v${{ github.run_number }} # draft: false # prerelease: false # # - name: Upload zip file to GitHub release # uses: actions/upload-release-asset@v1 # with: # upload_url: ${{ steps.create_release.outputs.upload_url }} # asset_path: ./tree-sitter-grammar-release.zip # asset_name: tree-sitter-grammar-release.zip # asset_content_type: application/zip #