TLDR;
Я создал небольшое действие GitHub, чтобы приветствовать вкладчиков со случайным программистом MEMES
Bhupesh-V/Memer-Action
Действие GitHub для программистов MEMES XD
✨ демонстрация
❓ Использование
Пример рабочего процесса
- Вы можете использовать следующий рабочий процесс, как есть, просто скопируйте/вставить в файл с именем
приветствия.мль
Внутри вашего рабочие процессы папка. - Ответ действий выполняется Create-или-update-комментарий
name: Memer Workflow on: [pull_request] jobs: greeting: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Run Memer Action id: memer uses: Bhupesh-V/memer-action@master with: filter: "new" - name: Check Outputs run: | echo "${{ steps.memer.outputs.meme }}" echo "${{ steps.memer.outputs.title }}" echo "${{ steps.memer.outputs.source }}" - name: Create comment uses: peter-evans/create-or-update-comment@v1.3.0 id: couc with: issue-number: ${{ github.event.number }} body: | 🎉🎉 Thanks for opening this PR/Issue 🤗 Please wait while the maintainer(s) review it Meanwhile have a look at this 😝 : > **${{ steps.memer.outputs.title }}** ![meme](${{ steps.memer.outputs.meme }}) ℹ️ Source [
Вид на рынок Github
Вы можете сказать благодаря участникам, приветствуя их с каким-либо программистым юмором и кстати, почти всем нравится MEMES, так что повеселитесь, вносясь, что вклад в OpenSource, будет здорово:)
Вот образец мем-действия в действии
Действие было построено с помощью Python, вот как происходит волшебство
import feedparser import random import os import sys HOST_URL = "https://www.reddit.com/r/ProgrammerHumor" def getMeme(filter_posts="hot"): memelist = [] memedict = {} f = feedparser.parse(f"{HOST_URL}/{filter_posts}.rss") for entry in f.entries: x = entry['content'][0]['value'] img = x[x.find("https://i.redd.it"): x.find("link") - 3] if img != "": memedict["title"] = entry["title"] memedict["src"] = str(entry["link"]) memedict["meme"] = img memelist.append(memedict) random.shuffle(memelist) return memelist[0] def main(): filter_by = os.environ["INPUT_FILTER"] if filter_by not in ["hot", "top", "new", "rising"]: sys.exit(0) meme = getMeme(filter_by) print(f"::set-output name=meme::{meme['meme']}") print(f"::set-output name=title::{meme['title']}") print(f"::set-output name=source::{meme['src']}") if __name__ == "__main__": main()
Вышеуказанный скрипт проходит внутри контейнера докера. Ниже приведены некоторые ресурсы, которые (которые я использовал) вы можете использовать для создания собственных действий, использующих Python
Оригинал: “https://dev.to/bhupesh/a-github-action-for-programmer-memes-xd-nn8”