GitHub Actions를 사용하여 Python 코드 서식 자동화
내 워크플로우
깃허브 액션을 구축한 것은 이번이 처음인데 놀라운 새로운 것들을 배울 수 있게 해준 이 해커톤에 정말 감사합니다 😇 !
내가 만든 조치는 autoyapf 으로 알려져 있습니다. PEP 8 스타일 가이드를 준수하도록 Python 코드의 형식을 자동으로 지정하는 오픈 소스 도구인 yapf의 GitHub 작업입니다.
'푸시' 이벤트가 트리거될 때마다 Python 코드 서식을 자동화하는 간단한 워크플로를 만들었습니다. 간단히 말해서 유지 관리자가 자신의 플레이그라운드에서 코드를 푸시하거나 기여자의 풀 요청을 병합할 때마다 yapf 도구를 사용하여 PEP 8 스타일 지침에 따라 자동으로 형식이 지정됩니다. 이 조치는 Python과 관련된 프로젝트의 기여자와 유지 관리자 모두에게 윈-윈 상황입니다!
샘플 워크플로 yaml 파일:
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
autoyapf GitHub는 이름이 sedpy인 내 또 다른 오픈 소스 Python 프로젝트에서 사용되고 있습니다.
아래에서 찾을 수 있는 위의 프로젝트에서 autoyapf GitHub 작업이 사용되는 방법을 설명하는 자세한 블로그를 작성했습니다.
GitHub Actions를 사용하여 Python 프로젝트의 코드 서식을 자동화하는 방법 - 연구
Mritunjay Sharma ・ 9월 8일 ・ 5분 읽기
#actionshackathon
#python
#codequality
#github
제출 카테고리:
메인테이너 머스트해브
Yaml 파일 또는 코드 링크
mritunjaysharma394 / 오토야프
yapf 서식 자동화.
오토야프
Python 코드가 스타일 지침을 따르고 있는지 걱정되십니까? 글쎄, 당신은 지금 그것을 할 필요가 없습니다 😄
autoyapf는 PEP 8 스타일 가이드를 준수하도록 Python 코드의 형식을 자동으로 지정하는 오픈 소스 도구인 yapf에 대한 GitHub 작업입니다.
원래 코드가 스타일 가이드를 위반하지 않았더라도 코드를 가져와서 스타일 가이드를 준수하는 최상의 형식으로 다시 포맷하는 것은 본질적으로 알고리즘입니다.
이 작업은 '푸시' 트리거와 함께 사용하도록 설계되었습니다. 간단히 말해서 유지 관리자가 자신의 플레이그라운드에서 코드를 푸시하거나 기여자의 풀 요청을 병합할 때마다
yapf 도구를 사용하여 PEP 8 스타일 지침에 따라 자동으로 형식이 지정됩니다. 이 조치는 Python과 관련된 프로젝트의 기여자와 유지 관리자 모두에게 윈-윈 상황입니다! 네, 잘 들었습니다!
이것…
View on GitHub
추가 리소스/정보
[참고:] # (워크플로를 사용하는 모든 오픈 소스 프로젝트에 연결해야 합니다!)
워크플로우는 다음에서 사용 중입니다.
mritunjaysharma394 / 세피
sed(스트림 편집기)의 교차 플랫폼 대안 구축
세피
[ sedpy
는 BSD 및 GNU 시스템에서 보다 쉽고 유연한 스트림 라인 편집을 위해 sed의 교차 플랫폼 대안으로 구축되는 오픈 소스 프로젝트입니다.
sed는 무엇이며 sedpy는 무엇입니까?
스트림 편집기의 줄임말인 sed
명령은 표준 입력 또는 파일에서 오는 텍스트에 대한 편집 작업을 수행합니다. sed는 한 줄씩 비대화식 방식으로 편집합니다.
즉, 명령을 호출할 때 모든 편집 결정을 내리고 sed가 지시를 자동으로 실행합니다. 이것은 혼란스럽거나 직관적이지 않은 것처럼 보일 수 있지만 특히 스크립트 또는 자동화된 워크플로의 일부로 텍스트를 변환하는 매우 강력하고 빠른 방법입니다.sed
의 문제는 순수한 크로스 플랫폼이 아니라는 것입니다. Linux는 GNU 기반sed
을 사용하는 반면 macOS에는 BSD 버전sed
이 있습니다. 결과적으로 둘 다 상당히 중요한 구문 및 사용법 차이가 있습니다. 동시에 sed
…
View on GitHub
스트림 편집기의 줄임말인
sed
명령은 표준 입력 또는 파일에서 오는 텍스트에 대한 편집 작업을 수행합니다. sed는 한 줄씩 비대화식 방식으로 편집합니다.즉, 명령을 호출할 때 모든 편집 결정을 내리고 sed가 지시를 자동으로 실행합니다. 이것은 혼란스럽거나 직관적이지 않은 것처럼 보일 수 있지만 특히 스크립트 또는 자동화된 워크플로의 일부로 텍스트를 변환하는 매우 강력하고 빠른 방법입니다.
sed
의 문제는 순수한 크로스 플랫폼이 아니라는 것입니다. Linux는 GNU 기반sed
을 사용하는 반면 macOS에는 BSD 버전sed
이 있습니다. 결과적으로 둘 다 상당히 중요한 구문 및 사용법 차이가 있습니다. 동시에 sed
…View on GitHub
나만자인2606 / 대청소
또한 RTEMS에서 사용되는 것으로 간주되고 있습니다.
RTEMS / rtems 소스 빌더
소스에서 도구 및 패키지를 빌드합니다.
RTEMS Tools From Source ----------------------- The RTEMS Source Builder is a tool to aid building packages from source used by the RTEMS project. It helps consolidate the details you need to build a package from source in a controlled and verifiable way. The tool is aimed at developers of software who use tool sets for embedded type development and is not limited to building just for RTEMS. Embedded development typically uses cross-compiling tool chains, debuggers, and debugging aids. Together we call these a 'tool set'. The RTEMS Source Builder is not limited to this role but designed to fit with-in this specific niche. It can be used outside of the RTEMS project and we welcome this happening in other open source or commercial projects The project is part of the RTEMS Project. The project's websites are RTEMS Project Website: https://www.rtems.org/ GIT Source Repository: https://git.rtems.org/rtems-source-builder.git/ Documentation: https://docs.rtems.org/branches/master/rsb/index.html Bugs: https://devel.rtems.org/query?component=RSB Please refer…
View on GitHub
이렇게 소중한 시간을 내주셔서 정말 감사합니다!
개선을 위한 피드백과 제안을 자유롭게 공유해 주세요! 💃
Reference
이 문제에 관하여(GitHub Actions를 사용하여 Python 코드 서식 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mritunjay394/automating-python-code-formatting-using-github-actions-4hik텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)