Repository navigation
feat(deps): allow ignoring known-broken upstream releases #14430
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: test | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v7 | |
| - name: lint | |
| uses: lunarmodules/luacheck@v1 | |
| - name: style | |
| uses: JohnnyMorganz/stylua-action@v5 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| version: latest | |
| args: --check home/.config | |
| test: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| submodules: recursive | |
| # full history + tags for the superproject and submodules, so builds that rely on | |
| # `git describe --tags` (e.g. deps/ccls, or a submodule's own build tooling) behave | |
| # the same as a real local clone instead of depending on shallow-clone shape | |
| fetch-depth: 0 | |
| - name: install rust toolchain | |
| uses: actions-rs/toolchain@v1 # atuin | |
| with: | |
| toolchain: stable | |
| override: true | |
| - name: install node.js # various dependencies | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 24.x | |
| - name: install lua | |
| uses: leafo/gh-actions-lua@v13 | |
| with: | |
| luaVersion: luajit | |
| - name: install luarocks # mason needs luarocks to intall luacheck | |
| uses: leafo/gh-actions-luarocks@v6 | |
| - name: deps | |
| uses: awalsh128/cache-apt-pkgs-action@latest | |
| with: | |
| packages: stow libglib2.0-dev libmpv-dev dbus-x11 dconf-cli libavformat-dev libclang-17-dev | |
| # libglib2.0-dev libmpv-dev libavformat-dev - mpv-mpris | |
| # dbus-x11 dconf-cli - ibus | |
| # libclang-17-dev - ccls | |
| version: 1.0 | |
| - name: install yq # needed for the mason registry to work locally (https://github.com/williamboman/mason.nvim/pull/1457) | |
| uses: mikefarah/yq@master | |
| - name: install neovim | |
| uses: rhysd/action-setup-vim@v1 | |
| with: | |
| # apt neovim is too old | |
| neovim: true | |
| version: v0.12.4 | |
| # currently broken because of `-` mapping conflict between oil vs nvim.dir | |
| # https://github.com/neovim/neovim/pull/40531 | |
| # will probably have to disable the `unique` flag for oil.nvim | |
| # version: nightly | |
| - name: cache cargo | |
| uses: actions/cache@v6 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('.git/modules/deps/atuin/HEAD', '.git/modules/home/.local/share/nvim/site/pack/default/opt/difftastic.nvim/HEAD') }} | |
| - name: cache atuin | |
| uses: actions/cache@v6 | |
| with: | |
| path: | | |
| deps/atuin/target | |
| key: ${{ runner.os }}-atuin-${{ hashFiles('.git/modules/deps/atuin/HEAD') }} | |
| - name: cache ccls | |
| uses: actions/cache@v6 | |
| with: | |
| path: | | |
| deps/ccls/Release | |
| key: ${{ runner.os }}-ccls-${{ hashFiles('.git/modules/deps/ccls/HEAD') }} | |
| - name: cache difftastic | |
| uses: actions/cache@v6 | |
| with: | |
| path: | | |
| home/.local/share/nvim/site/pack/default/opt/difftastic.nvim/target | |
| key: ${{ runner.os }}-difftastic-${{ hashFiles('.git/modules/home/.local/share/nvim/site/pack/default/opt/difftastic.nvim/HEAD') }} | |
| - name: build | |
| run: make | |
| - name: test build | |
| run: make test-build | |
| - name: install | |
| run: | | |
| export $(dbus-launch) # dconf required dbus | |
| # stow conflicts | |
| rm ~/.bashrc ~/.bash_profile | |
| make install | |
| - name: test | |
| run: make test | |
| - name: bench | |
| run: make bench-nvim |