junegunn/fzf

8 workflows · maturity 50% · 6 patterns · GitHub ↗

Security 41.45/100

Practices

✓ Matrix✓ Permissions✓ Security scan○ AI review○ Cache○ Concurrency○ Reusable workflows

Detected patterns

Security dimensions

permissions
15.6
security scan
12.5
supply chain
13.3
secret handling
0
harden runner
0

Tools: github/codeql-action/analyze, github/codeql-action/autobuild, github/codeql-action/init

Workflows (8)

codeql-analysis matrix perms security .github/workflows/codeql-analysis.yml
Triggers
push, pull_request, workflow_dispatch
Runs on
ubuntu-latest
Jobs
analyze
Matrix
language→ go
Actions
github/codeql-action/init, github/codeql-action/autobuild, github/codeql-action/analyze
View raw YAML
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning
name: CodeQL

on:
  push:
    branches: [ master, devel ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:

permissions:
  contents: read

jobs:
  analyze:
    permissions:
      actions: read  # for github/codeql-action/init to get workflow details
      contents: read  # for actions/checkout to fetch code
      security-events: write  # for github/codeql-action/autobuild to send a status report
    name: Analyze
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        language: ['go']

    steps:
    - name: Checkout repository
      uses: actions/checkout@v5
      with:
        fetch-depth: 0

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v4
      with:
        languages: ${{ matrix.language }}

    - name: Autobuild
      uses: github/codeql-action/autobuild@v4

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v4
depsreview perms .github/workflows/depsreview.yaml
Triggers
pull_request
Runs on
ubuntu-latest
Jobs
dependency-review
Actions
actions/dependency-review-action
View raw YAML
name: 'Dependency Review'
on: [pull_request]

permissions:
  contents: read

jobs:
  dependency-review:
    runs-on: ubuntu-latest
    steps:
      - name: 'Checkout Repository'
        uses: actions/checkout@v5
      - name: 'Dependency Review'
        uses: actions/dependency-review-action@v4
labeler perms .github/workflows/labeler.yml
Triggers
pull_request_target
Runs on
ubuntu-latest
Jobs
label
Actions
actions/labeler
View raw YAML
name: Label PRs

on:
  pull_request_target:
    types: [opened, synchronize, reopened]

permissions:
  contents: read
  pull-requests: write

jobs:
  label:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/labeler@v6
        with:
          configuration-path: .github/labeler.yml
linux perms .github/workflows/linux.yml
Triggers
push, pull_request, workflow_dispatch
Runs on
ubuntu-24.04
Jobs
build
Actions
ruby/setup-ruby
Commands
  • sudo apt-get install --yes zsh fish tmux shfmt
  • bundle install
  • make lint
  • make test
  • go test ./src/algo/ -fuzz=FuzzIndexByteTwo -fuzztime=5s go test ./src/algo/ -fuzz=FuzzLastIndexByteTwo -fuzztime=5s
  • make install && ./install --all && tmux new-session -d && ruby test/runner.rb --verbose
View raw YAML
---
name: build

on:
  push:
    branches: [ master, devel ]
  pull_request:
    branches: [ master, devel ]
  workflow_dispatch:

permissions:
  contents: read

env:
  LANG: C.UTF-8

jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v5
      with:
        fetch-depth: 0

    - name: Set up Go
      uses: actions/setup-go@v6
      with:
        go-version: "1.23"

    - name: Setup Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: 3.4.6

    - name: Install packages
      run: sudo apt-get install --yes zsh fish tmux shfmt

    - name: Install Ruby gems
      run: bundle install

    - name: Rubocop
      run: make lint

    - name: Unit test
      run: make test

    - name: Fuzz test
      run: |
        go test ./src/algo/ -fuzz=FuzzIndexByteTwo -fuzztime=5s
        go test ./src/algo/ -fuzz=FuzzLastIndexByteTwo -fuzztime=5s

    - name: Integration test
      run: make install && ./install --all && tmux new-session -d && ruby test/runner.rb --verbose
macos perms .github/workflows/macos.yml
Triggers
push, pull_request, workflow_dispatch
Runs on
macos-latest
Jobs
build
Actions
ruby/setup-ruby
Commands
  • HOMEBREW_NO_INSTALL_CLEANUP=1 brew install fish zsh tmux shfmt
  • gem install --no-document minitest:5.14.2 rubocop:1.0.0 rubocop-minitest:0.10.1 rubocop-performance:1.8.1
  • rubocop --require rubocop-minitest --require rubocop-performance
  • make test
  • make install && ./install --all && LC_ALL=C tmux new-session -d && ruby test/test_go.rb --verbose
View raw YAML
---
name: Test fzf on macOS

on:
  push:
    branches: [ master, devel ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:

permissions:
  contents: read

jobs:
  build:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v5
      with:
        fetch-depth: 0

    - name: Set up Go
      uses: actions/setup-go@v6
      with:
        go-version: "1.23"

    - name: Setup Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: 3.0.0

    - name: Install packages
      run: HOMEBREW_NO_INSTALL_CLEANUP=1 brew install fish zsh tmux shfmt

    - name: Install Ruby gems
      run: gem install --no-document minitest:5.14.2 rubocop:1.0.0 rubocop-minitest:0.10.1 rubocop-performance:1.8.1

    - name: Rubocop
      run: rubocop --require rubocop-minitest --require rubocop-performance

    - name: Unit test
      run: make test

    - name: Integration test
      run: make install && ./install --all && LC_ALL=C tmux new-session -d && ruby test/test_go.rb --verbose
sponsors .github/workflows/sponsors.yml
Triggers
workflow_dispatch, schedule
Runs on
ubuntu-latest
Jobs
deploy
Actions
JamesIves/github-sponsors-readme-action, JamesIves/github-pages-deploy-action
View raw YAML
---
name: Generate Sponsors README
on:
  workflow_dispatch:
  schedule:
    - cron: 0 15 * * 6
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout 🛎️
        uses: actions/checkout@v5

      - name: Generate Sponsors 💖
        uses: JamesIves/github-sponsors-readme-action@v1
        with:
          token: ${{ secrets.SPONSORS_TOKEN }}
          file: 'README.md'

      - name: Deploy to GitHub Pages 🚀
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          branch: master
          folder: '.'
typos .github/workflows/typos.yml
Triggers
pull_request
Runs on
ubuntu-latest
Jobs
typos
Actions
crate-ci/typos
View raw YAML
name: "Spell Check"
on: [pull_request]

jobs:
  typos:
    name: Spell Check with Typos
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - uses: crate-ci/typos@v1.29.4
winget .github/workflows/winget.yml
Triggers
release
Runs on
ubuntu-latest
Jobs
publish
Actions
vedantmgoyal2009/winget-releaser
View raw YAML
name: Publish to Winget
on:
  release:
    types: [released]

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: vedantmgoyal2009/winget-releaser@v2
        with:
          identifier: junegunn.fzf
          installers-regex: '-windows_(armv7|arm64|amd64)\.zip$'
          token: ${{ secrets.WINGET_TOKEN }}