diff --git a/.github/workflows/luarocks.yml b/.github/workflows/luarocks.yml new file mode 100644 index 00000000..d5746047 --- /dev/null +++ b/.github/workflows/luarocks.yml @@ -0,0 +1,42 @@ +name: Luarocks + +on: + push: + tags: + - '*' + release: + types: + - created + pull_request: # Tests luarocks install from generated rockspec on PR without uploading + workflow_dispatch: + +jobs: + luarocks-upload: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Required to get the tags + - name: Get Version + run: echo "LUAROCKS_VERSION=$(git describe --abbrev=0 --tags)" >> $GITHUB_ENV + + # Needed to build the tree-sitter-go dependency + - name: Install C/C++ Compiler + uses: rlalik/setup-cpp-compiler@master + with: + compiler: clang-latest + - name: Install tree-sitter CLI + uses: baptiste0928/cargo-install@v3 + with: + crate: tree-sitter-cli + + - name: LuaRocks Upload + uses: nvim-neorocks/luarocks-tag-release@v7 + env: + LUAROCKS_API_KEY: ${{ secrets.LUAROCKS_API_KEY }} + with: + version: ${{ env.LUAROCKS_VERSION }} + dependencies: | + neotest + plenary.nvim + tree-sitter-go