All Projects β†’ peaceiris β†’ actions-suggest-related-links

peaceiris / actions-suggest-related-links

Licence: MIT license
A GitHub Action to suggest related or similar issues, documents, and links. Based on the power of NLP and fastText.

Programming Languages

typescript
32286 projects
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
shell
77523 projects
Makefile
30231 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to actions-suggest-related-links

build-godot-action
GitHub action that builds a Godot project for multiple platforms
Stars: ✭ 62 (+169.57%)
Mutual labels:  actions, github-actions
action
πŸ“¦πŸ“Š GitHub Action to reports on the size of your npm package
Stars: ✭ 36 (+56.52%)
Mutual labels:  actions, github-actions
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps πŸ“± using Github Actions πŸ’Š + Firebase Distribution πŸŽ‰
Stars: ✭ 37 (+60.87%)
Mutual labels:  actions, github-actions
action-sync-node-meta
GitHub Action that syncs package.json with the repository metadata.
Stars: ✭ 25 (+8.7%)
Mutual labels:  actions, github-actions
Actions Openwrt
A template for building OpenWrt with GitHub Actions | 使用 GitHub Actions δΊ‘ηΌ–θ―‘ OpenWrt
Stars: ✭ 4,742 (+20517.39%)
Mutual labels:  actions, github-actions
bridgecrew-action
This Github Action runs Bridgecrew against an Infrastructure-as-Code repository. Bridgecrew performs static security analysis of Terraform & CloudFormation Infrastructure code.
Stars: ✭ 52 (+126.09%)
Mutual labels:  actions, github-actions
npm-update-check-action
npm new package version check action for GitHub Actions.
Stars: ✭ 17 (-26.09%)
Mutual labels:  actions, github-actions
action-autotag
Automatically generate a new tag when the manifest file (package.json, Dockerfile, custom file, etc) version changes.
Stars: ✭ 45 (+95.65%)
Mutual labels:  actions, github-actions
gh-pages-action
A GitHub Action to deploy a static site on GitHub Pages.
Stars: ✭ 26 (+13.04%)
Mutual labels:  actions, github-actions
upx-action
Strips and runs upx on binaries
Stars: ✭ 17 (-26.09%)
Mutual labels:  actions, github-actions
qodana-action
βš™οΈ Scan your Java, Kotlin, PHP, Python, JavaScript, TypeScript projects at GitHub with Qodana
Stars: ✭ 112 (+386.96%)
Mutual labels:  actions, github-actions
Awesome Actions
A curated list of awesome actions to use on GitHub
Stars: ✭ 16,943 (+73565.22%)
Mutual labels:  actions, github-actions
ghaction-upx
GitHub Action for UPX, the Ultimate Packer for eXecutables
Stars: ✭ 27 (+17.39%)
Mutual labels:  actions, github-actions
github-act-runner
act as self-hosted runner
Stars: ✭ 68 (+195.65%)
Mutual labels:  actions, github-actions
ghaction-import-gpg
GitHub Action to easily import a GPG key
Stars: ✭ 161 (+600%)
Mutual labels:  actions, github-actions
deno-action
Github action for setup Deno
Stars: ✭ 24 (+4.35%)
Mutual labels:  actions, github-actions
gha
πŸ”§ Test your GitHub Actions workflow locally.
Stars: ✭ 53 (+130.43%)
Mutual labels:  actions, github-actions
overview
Automate your workflows with GitHub actions for MATLAB.
Stars: ✭ 40 (+73.91%)
Mutual labels:  actions, github-actions
github-run-tests-action
mabl Github Actions implementation
Stars: ✭ 39 (+69.57%)
Mutual labels:  actions, github-actions
Actions Gh Pages
GitHub Actions for GitHub Pages πŸš€ Deploy static files and publish your site easily. Static-Site-Generators-friendly.
Stars: ✭ 2,576 (+11100%)
Mutual labels:  actions, github-actions

Suggest Related Links Action

A GitHub Action to suggest related or similar issues, documents, and links. Based on the power of NLP and fastText.

Suggest Related Links Action example result | peaceiris/actions-suggest-related-links

Sometimes, users create a new issue that is similar to already opened or closed issues. When you face the issue, you need to find similar issues or related links and post it as a comment. That process is a pain, right? This action can do it instead of you!

license release GitHub release date Release Feed

codecov CodeFactor Maintainability

Table of Contents

Getting Started

Create Workflow

Create your YAML workflow file as follows.

e.g. .github/workflows/suggest-related-links.yml

name: 'Suggest Related Links'

on:
  issues:
    types:
      - opened
      - edited
  workflow_dispatch:
  schedule:
    - cron: '13 13 * * */7'

jobs:
  action:
    runs-on: ubuntu-18.04
    steps:
      - name: Cache dependencies
        uses: actions/cache@v2
        with:
          path: ~/actions-suggest-related-links-tmp
          key: ${{ runner.os }}-action-${{ hashFiles('~/actions-suggest-related-links-tmp/training-data.json') }}
          restore-keys: |
            ${{ runner.os }}-action-

      - uses: peaceiris/[email protected]
      - uses: peaceiris/actions-suggest-related-links/models/[email protected]
        if: github.event_name == 'issues'
        with:
          version: v1.1.1
      - uses: peaceiris/[email protected]
        with:
          mode: 'suggest'
          repository: 'peaceiris/actions-gh-pages'
          unclickable: true

Save Issues Data

Run It manually only the first time to save issues data. After the first running, it will be automatically executed following the setting of the schedule.cron.

Run workflow manually to save issues data | peaceiris/actions-suggest-related-links

Create Issue

Some related links which are similar to the created issue body will be listed by this action.

Suggest Related Links Action example result | peaceiris/actions-suggest-related-links

Overview

Our GitHub Action is actions-suggest-related-links, which suggests related or similar issues, documents, and links. This action mainly consists of 5 parts: Data Collection, Preprocessing, Train model, Find similar issues, and Suggest Issues.

Workflow Overview |

Data Collection

All issues of the repository are collected with the GitHub API. The issues include the title, body, and comments. Training Data is regularly collected using the scheduling function and output as an artifact and saved as a cache.

Preprocessing

The Markdown format is converted to plain text with unified. At this time, symbols that are not alphabetic characters are deleted.

Train Model

When a new issue is created or updated, the fastText model is trained. In accordance with its name, fastText has the advantage of very short inference times.

We think training time at the GitHub Actions runners won't be an issue. In the case of GitHub Actions for GitHub Pages repository, the training execution time is 1 sec and the total execution time is about 30 sec.

Find Similar Issues

Calculate word vectors of training data and word vectors of posted data in fastText. The cosine similarity is used to determine which word vectors of training data is close to the word vectors of the posted data. The higher the cosine similarity, the more similar the sentence.

Suggest Issues

Suggest Related Links Action example result | peaceiris/actions-suggest-related-links

Maintainers

License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].