fix(pick): update set_picker_opts to rerun match only if necessary
#6
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: Quality Control | |
| on: | |
| push: | |
| branches-ignore: [ sync, stable ] | |
| pull_request: | |
| branches-ignore: [ sync, stable ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-${{ github.actor }} | |
| cancel-in-progress: true | |
| jobs: | |
| detect-changes: | |
| name: Detect changes | |
| runs-on: ubuntu-latest | |
| outputs: | |
| code: ${{ steps.filter.outputs.code }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| code: | |
| - 'colors/**' | |
| - 'lua/**' | |
| - 'tests/**' | |
| - 'scripts/minimal_init.lua' | |
| test: | |
| name: Test | |
| # Run only if testable code has changed (to save time and resources) | |
| needs: detect-changes | |
| if: ${{ needs.detect-changes.outputs.code == 'true' }} | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ ubuntu-latest ] | |
| neovim_version: [ 'v0.9.5', 'v0.10.4', 'v0.11.5', 'nightly' ] | |
| include: | |
| - os: macos-latest | |
| neovim_version: v0.11.5 | |
| - os: windows-latest | |
| neovim_version: v0.11.5 | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup neovim | |
| uses: rhysd/action-setup-vim@v1 | |
| with: | |
| neovim: true | |
| version: ${{ matrix.neovim_version }} | |
| - name: Run tests | |
| run: make test | |
| lint-gendoc: | |
| name: Lint document generation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Neovim | |
| uses: rhysd/action-setup-vim@v1 | |
| with: | |
| neovim: true | |
| version: v0.11.5 | |
| - name: Generate documentation | |
| run: make --silent documentation | |
| - name: Check for changes | |
| run: if [[ -n $(git status -s) ]]; then exit 1; fi | |
| lint-formatting: | |
| name: Lint formatting | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: JohnnyMorganz/stylua-action@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| version: v2.1.0 | |
| # CLI arguments | |
| args: --color always --respect-ignores --check . | |
| lint-commit: | |
| name: Lint commits | |
| runs-on: ubuntu-latest | |
| env: | |
| LINTCOMMIT_STRICT: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ github.event.pull_request.head.sha || github.ref }} | |
| - name: Install Neovim | |
| uses: rhysd/action-setup-vim@v1 | |
| with: | |
| neovim: true | |
| version: v0.11.5 | |
| - name: Lint new commits | |
| run: make --silent lintcommit-ci | |
| lint-filename: | |
| name: Lint filename lengths | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check filename legnths | |
| run: make --silent lint-filename-length-ci | |
| - name: Check case sensitivity | |
| uses: credfeto/[email protected] | |
| check-workflow-status: | |
| name: Check workflow status | |
| runs-on: ubuntu-latest | |
| needs: [ test, lint-gendoc, lint-formatting, lint-commit, lint-filename ] | |
| if: always() | |
| steps: | |
| - name: Check workflow status | |
| run: | | |
| exit_on_result() { | |
| if [[ "$2" == "failure" || "$2" == "cancelled" ]]; then | |
| echo "Job '$1' failed or was cancelled." | |
| exit 1 | |
| fi | |
| } | |
| exit_on_result "test" "${{ needs.test.result }}" | |
| exit_on_result "lint-gendoc" "${{ needs.lint-gendoc.result }}" | |
| exit_on_result "lint-formatting" "${{ needs.lint-formatting.result }}" | |
| exit_on_result "lint-commit" "${{ needs.lint-commit.result }}" | |
| exit_on_result "lint-filename" "${{ needs.lint-filename.result }}" |