name: CI on: push: branches: [ main ] workflow_dispatch: jobs: bootstrap: strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v2 - name: Run bootstrap run: make bootstrap env: DOTFILES_CI: 1 - name: Install neovim uses: rhysd/action-setup-vim@v1 with: neovim: true - name: Install packer if: ${{ matrix.platform != 'windows-latest' }} run: | git clone https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim - name: Install packer on Windows if: ${{ matrix.platform == 'windows-latest' }} run: | git clone https://github.com/wbthomason/packer.nvim "$env:LOCALAPPDATA\nvim-data\site\pack\packer\start\packer.nvim" - name: Run neovim checks run: make check_neovim env: DOTFILES_CI: 1 - uses: actions/setup-python@v3 if: ${{ matrix.platform != 'windows-latest' }} name: Setup python for bin tools - name: Run tests if: ${{ matrix.platform != 'windows-latest' }} run: | export PATH="$HOME/bin:$PATH" make run_tests env: DOTFILES_CI: 1 create-key: strategy: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v2 - name: Run key creation run: echo "test\n\n\n\n\n\n\n\n" | make create_personal_ssh_keys env: DOTFILES_CI: 1 stylua: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run stylua uses: JohnnyMorganz/stylua-action@v3 with: token: ${{ secrets.GITHUB_TOKEN }} version: latest args: --check . luacheck: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install luacheck run: sudo apt-get install -y lua-check - name: Run luacheck run: | cd symlinks/config/nvim luacheck .