chore(nvim): move completion plugins to nix #2260
This file contains 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 dotfiles | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: write | |
pages: write | |
pull-requests: write | |
on: | |
push: | |
branches: | |
- master | |
- build/* | |
- kaihowl/stack | |
pull_request: | |
branches: | |
- master | |
schedule: | |
- cron: 41 11 * * 0 | |
workflow_dispatch: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run ShellCheck | |
uses: ludeeus/action-shellcheck@master | |
with: | |
severity: style | |
# Prevent SC1090/SC1091. Will fail if we have too many scripts. | |
# Check usage of "-x" or "external-sources=true" then. | |
check_together: 'yes' | |
ignore_paths: nvim/tests/test-efm | |
env: | |
SHELLCHECK_OPTS: -s bash | |
# TOOD add a stand in build, maybe alpine? | |
# rhel needs a license server after all | |
# as a stand in for centos7: | |
# centos7 is EOL and the yum mirrors are no longer available | |
# rhel-build: | |
# timeout-minutes: 20 | |
# runs-on: ubuntu-latest | |
# container: redhat/ubi8:latest | |
# | |
# steps: | |
# - name: install git | |
# shell: bash | |
# run: yum install -y git | |
# - uses: actions/checkout@v4 | |
# with: | |
# path: '.dotfiles' | |
# fetch-depth: 40 | |
# - name: Install and test | |
# shell: bash | |
# run: | | |
# echo "pwd test.yml start: $(pwd)" | |
# yum install -y xz | |
# cd .dotfiles && ./script/rhel_build.sh | |
# - name: Rename versions report | |
# if: always() | |
# run: | | |
# cd .dotfiles/ | |
# mv versions.txt versions-${{matrix.os}}.txt | |
# - name: Archive version report | |
# uses: actions/upload-artifact@v4 | |
# if: always() | |
# with: | |
# name: versions-report-${{matrix.os}} | |
# path: .dotfiles/versions-*.txt | |
# if-no-files-found: error | |
# | |
build: | |
timeout-minutes: 20 | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-22.04 | |
profile: full | |
- os: ubuntu-22.04 | |
profile: minimal | |
- os: macos-latest | |
profile: full | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: '.dotfiles' | |
fetch-depth: 40 | |
- name: Install git-perf | |
uses: kaihowl/git-perf/.github/actions/install@master | |
- run: | | |
cd .dotfiles/ | |
git config --global user.email "[email protected]" | |
git config --global user.name "git-perf" | |
- name: Install and test | |
env: | |
VERSION_RUNNER_OS: ${{ matrix.os }} | |
DOTFILES_PROFILE: ${{ matrix.profile }} | |
shell: bash | |
run: | | |
env | |
export XDG_CONFIG_HOME=~/.config | |
# Make `infocmp` for nvim healthcheck succeed | |
export TERM=dumb | |
# Ignore potentially insecure directories on GitHub actions runner. | |
export ZSH_DISABLE_COMPFIX=true | |
# Do not rate limit with public / untrusted access bucket | |
export NIX_CONFIG="access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}" | |
cd .dotfiles/ | |
./script/ci.sh | |
- name: Rename versions report | |
if: always() | |
run: | | |
cd .dotfiles/ | |
mv versions.txt versions-${{matrix.os}}-${{matrix.profile}}.txt | |
- name: Archive version report | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
include-hidden-files: true | |
name: versions-report-${{matrix.os}}-${{matrix.profile}} | |
path: .dotfiles/versions-*.txt | |
if-no-files-found: error | |
report: | |
name: git-perf | |
needs: build | |
if: always() | |
uses: kaihowl/git-perf/.github/workflows/report.yml@master | |
with: | |
additional-args: '-s os' |