GitHub 작업 자동화 Python 프로젝트의 코드 포맷을 사용하는 방법 - 연구
자동 YAPF
소개
우선 GitHub 작업과 그에 따른 마력에 대해 살펴보겠습니다.😃?
GitHub 작업
GitHub 작업은 저장소에서 소프트웨어 개발 워크플로우를 자동으로 사용자 정의하고 실행할 수 있는 신기한 기능입니다.
그런데 어이?언행이 다른 것은 무엇입니까?그렇다면 작업 흐름이 없는 조작은 무엇일까?그래, 네 말이 맞다!GitHub가 제대로 작동하려면 워크플로우를 사용해야 하지만 워크플로우는 무엇입니까?
워크플로우는 하나 이상의 작업으로 구성된 자동화된 프로세스입니다.이제 이 작업들은 GitHub 동작을 계산하는 트리거처럼 작동할 수 있다. 마치 메인 지점을 푸시하는 것과 같다.
워크플로우 파일에는 YAML 구문이 사용되고 있어야 합니다.yml 또는.yaml 파일 확장자.
GitHub 작업을 적용하려면 워크플로우 파일을 저장소의 .github/workflows
디렉토리에 저장해야 합니다.
GitHub 구축 작업 소개
Note: In order to use an existing GitHub action all you require is just a Workflow YAML file in .github/workflows
. The files mentioned in this part of the blog are required when you start building your own GitHub Actions 😄
거의 모든 GitHub 작업을 수행하려면 다음 파일이 필요합니다.
Note: In order to use an existing GitHub action all you require is just a Workflow YAML file in .github/workflows
. The files mentioned in this part of the blog are required when you start building your own GitHub Actions 😄
entrypoint.sh
우리가 사용할 autoyapf GitHub 작업 흐름의 주요 부분을 준비하고 설정하도록 하겠습니다.
지도의 autoyapf는 무엇입니까?
는yapf의GitHub 작업이고yapf는개원 도구로PEP8 스타일 가이드에 맞게 파이썬 코드를 자동으로 포맷할 수 있습니다.본질적으로 말하자면, 알고리즘은 코드를 스타일 가이드에 부합되는 가장 좋은 형식으로 다시 포맷한다. 설령 원시 코드가 스타일 가이드를 위반하지 않더라도.
이 동작은 밀기 트리거와 함께 사용하기 위한 것이다.간단하게 말하면 매번 관리자가 자신의 플랫폼에서 코드를 전송하거나 공헌자의 추출 요청을 합병할 때마다yapf도구를 사용하여 PEP8스타일의 준칙을 자동으로 포맷한다.Python과 관련된 프로젝트의 공헌자와 관리자에게 이것은 윈윈의 국면입니다!
자동 YAPF 항목 선택
첫 번째 단계에서는 항상 GitHub 작업을 사용할 저장소를 선택합니다.
GitHub 작업은 python 프로젝트를 위한 것이기 때문에 최근에 만든 python 프로젝트 를 사용합니다.
sedpy/ mritunjaysharma394
sed(흐름 편집기)의 크로스플랫폼 대체 방안 구축
가죽을 쑤셔 넣다
sedpy
[ sedpy
는 BSD와 GNU 시스템에서 보다 간단하고 유연한 유선 편집을 할 수 있도록 의 크로스플랫폼 대체 방안으로 구축된 개원 프로젝트이다.
무엇이 sed이고, 무엇이 sedpy입니까? sed
명령은 스트림 편집기의 줄임말로 표준 입력이나 파일에서 온 텍스트를 편집합니다.sed는 비상호작용으로 한 줄씩 편집합니다.
이것은 명령을 호출할 때 모든 편집 결정을 내리고sed가 자동으로 방향을 실행한다는 것을 의미합니다.이것은 보기에 곤혹스럽거나 직관적이지 않을 수도 있지만, 특히 스크립트나 자동화 작업 흐름의 일부로서 매우 강력하고 빠른 텍스트 변환 방법이다.sed
의 문제는 그것이 순수한 크로스플랫폼이 아니라는 데 있다.Linux는 GNU 기반sed
을 사용하고 macOS는 BSD 버전sed
을 사용합니다.따라서 두 가지 모두 문법과 용법에서 상당히 중요한 차이가 있다.동시에...
sed
GitHub에서 보기
워크플로우 준비
sed
명령은 스트림 편집기의 줄임말로 표준 입력이나 파일에서 온 텍스트를 편집합니다.sed는 비상호작용으로 한 줄씩 편집합니다.이것은 명령을 호출할 때 모든 편집 결정을 내리고sed가 자동으로 방향을 실행한다는 것을 의미합니다.이것은 보기에 곤혹스럽거나 직관적이지 않을 수도 있지만, 특히 스크립트나 자동화 작업 흐름의 일부로서 매우 강력하고 빠른 텍스트 변환 방법이다.
sed
의 문제는 그것이 순수한 크로스플랫폼이 아니라는 데 있다.Linux는 GNU 기반sed
을 사용하고 macOS는 BSD 버전sed
을 사용합니다.따라서 두 가지 모두 문법과 용법에서 상당히 중요한 차이가 있다.동시에...sed
GitHub에서 보기 워크플로우 준비
This will create a YAML file in the path:
.github/workflows/main.yml
파일을 원하는 이름으로 바꿀 수 있습니다. 이 경우 autoyapf로 이름을 지정합니다.main이 아니라 yml입니다.yml.
이제 autoyapf로 뛰어들어봅시다.yml 파일:
name: Formatting python code
on:
push:
paths:
- '**.py'
그 전에 우리가 한 일은 다음과 같다.sed
jobs:
autoyapf:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
ref: ${{ github.head_ref }}
- name: autoyapf
id: autoyapf
uses: mritunjaysharma394/autoyapf@v2
with:
args: --style pep8 --recursive --in-place .
- name: Check for modified files
id: git-check
run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)
- name: Push changes
if: steps.git-check.outputs.modified == 'true'
run: |
git config --global user.name 'Mritunjay Sharma'
git config --global user.email '[email protected]'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
git commit -am "Automated autoyapf fixes"
git push
다음은 상기 코드 세션이 하는 거의 모든 일에 대한 간략한 세부 사항입니다.Formatting python code
입니다.jobs:
autoyapf:
runs-on: ubuntu-latest
ubuntu-latest
을 정의했다.steps
지점을 검사할 것이다steps:
- uses: actions/checkout@master
with:
ref: ${{ github.head_ref }}
sedpy 는
master
도구를 사용하여 다음과 같은 모든 포맷을 수행합니다. yapf
- name: autoyapf
id: autoyapf
uses: mritunjaysharma394/autoyapf@v2
with:
args: --style pep8 --recursive --in-place .
args: --style pep8 --recursive --in-place .
저장소로 보낼 것입니다.- name: Check for modified files
id: git-check
run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)
sedpy
파일에서 유사한 터미널 명령을 사용할 수 있도록 합니다. - name: Push changes
if: steps.git-check.outputs.modified == 'true'
run: |
git config --global user.name 'Mritunjay Sharma'
git config --global user.email '[email protected]'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
git commit -am "Automated autoyapf fixes"
git push
우후!💃 전체 파일은 다음과 같이 워크플로우.yml
를 완료했습니다.
name: Formatting python code
on:
push:
paths:
- '**.py'
jobs:
autoyapf:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
ref: ${{ github.head_ref }}
- name: autoyapf
id: autoyapf
uses: mritunjaysharma394/autoyapf@v2
with:
args: --style pep8 --recursive --in-place .
- name: Check for modified files
id: git-check
run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)
- name: Push changes
if: steps.git-check.outputs.modified == 'true'
run: |
git config --global user.name 'Mritunjay Sharma'
git config --global user.email '[email protected]'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
git commit -am "Automated autoyapf fixes"
git push
이 GitHub 작업의 실제 상황을 보려면 다음 작업 예제를 참조하십시오.만약 당신이 이 동작을 좋아한다면, 마음대로 별 하나를 남겨 주십시오. 그렇습니다. 당신도 그것을 위해 공헌할 수 있다면 그것은 축복이 될 것입니다!다음 링크:
자동 YAPF/ mritunjaysharma394
자동으로 yapf 형식을 설정합니다.
데이터 경로 설명 파일
자동 YAPF
당신의 Python 코드가 스타일 준칙을 따랐는지 걱정됩니까?좋아, 너 지금 이렇게 할 필요 없어.https://github.githubassets.com/images/icons/emoji/unicode/1f604.png">😄
autoyapf는 GitHub 작업입니다. 이것은 PEP 8 스타일 가이드에 맞게 파이썬 코드를 자동으로 포맷할 수 있는 소스 오픈 도구입니다.
본질적으로 말하자면, 알고리즘은 코드를 스타일 가이드에 부합되는 가장 좋은 형식으로 다시 포맷한다. 설령 원시 코드가 스타일 가이드를 위반하지 않았다 하더라도
이 동작은'추'트리거와 협조하여 사용하기 위한 것이다.간단하게 말하면 매번 관리자가 자신의 플랫폼에서 코드를 전송하거나 공헌자의 요청을 합병할 때마다 이렇다
yapf 도구를 사용하여 PEP 8 스타일 안내서를 사용하여 자동으로 포맷합니다.Python과 관련된 프로젝트의 공헌자와 관리자에게 이것은 윈윈의 국면입니다!네, 잘 들었어요
이 문장
yapf
나는 이 블로그가 당신이 GitHub 조작의 작업 흐름을 만드는 데 도움을 줄 수 있기를 바란다. (우리의 예에서 autoyapf) 당신은 이미 놀라운 것을 배웠다!질문, 제안 또는 피드백이 있으면 언제든지 여기를 클릭하십시오:!
시간을 내서 이 블로그를 읽어 주셔서 감사합니다!좋은 기분 다 드릴게요.✨
Reference
이 문제에 관하여(GitHub 작업 자동화 Python 프로젝트의 코드 포맷을 사용하는 방법 - 연구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mritunjay394/how-to-automate-code-formatting-for-python-projects-with-github-actions-a-study-47g8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)