diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1fe6a74..efb8a6b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,39 +1,13 @@ name: Tests -on: [push, pull_request] +on: [push, pull_request, workflow_call] jobs: x64-ubuntu: - name: X64-ubuntu - runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - include: - - os: ubuntu-24.04 - url: https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz - manager: sudo apt-get - packages: -y fd-find tree-sitter-cli + name: nix-runner + runs-on: self-hosted steps: - - uses: actions/checkout@v3 - - run: date +%F > todays-date - - name: Restore cache for today's nightly. - uses: actions/cache@v3 - with: - path: _neovim - key: ${{ runner.os }}-${{ matrix.url }}-${{ hashFiles('todays-date') }} - - - name: Prepare - run: | - ${{ matrix.manager }} update - ${{ matrix.manager }} install ${{ matrix.packages }} - test -d _neovim || { - mkdir -p _neovim - curl -sL ${{ matrix.url }} | tar xzf - --strip-components=1 -C "${PWD}/_neovim" - } + - uses: actions/checkout@v4 - name: Run tests - run: | - export PATH="${PWD}/_neovim/bin:${PATH}" - export VIMRUNTIME="${PWD}/_neovim/share/nvim/runtime" - make test + run: make test diff --git a/tests/minimal_init.lua b/tests/minimal_init.lua index 5adae58..eba0f28 100644 --- a/tests/minimal_init.lua +++ b/tests/minimal_init.lua @@ -1,5 +1,8 @@ local M = {} +-- Ensure our test lua files are in `package.path` +package.path = "?.lua;" .. package.path + local utils = require("tests.utils.utils") local root = utils.paths.Root:push(".deps/") @@ -136,7 +139,5 @@ end M.setup({ ["plenary.nvim"] = "https://github.com/nvim-lua/plenary.nvim", - ["popup.nvim"] = "https://github.com/nvim-lua/popup.nvim", ["nvim-treesitter"] = "https://github.com/nvim-treesitter/nvim-treesitter", - ["playground"] = "https://github.com/nvim-treesitter/playground", }) diff --git a/tests/test.lua b/tests/test.lua index f7aebcf..925189e 100644 --- a/tests/test.lua +++ b/tests/test.lua @@ -1,3 +1,7 @@ +-- Ensure our test lua files are in `package.path` +local fdir = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h:h") +package.path = fdir .. "/?.lua;" .. package.path + require("tests.minimal_init") ---@type string