Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kiyoon authored Oct 21, 2024
0 parents commit bcdebdf
Show file tree
Hide file tree
Showing 84 changed files with 5,347 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
src/zproject/_version.py export-subst
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: 버그 수정
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---

**버그에 대해 설명해 주세요 :)**

[..] 할 때 [..] 에러가 나며 트레이닝이 멈춥니다.
(GIF, 동영상 등 드래그해서 첨부할 수도 있습니다.)

**To Reproduce**

버그 만드는 법:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**

원래대로라면 [...] 해야 합니다.

**로그 파일을 붙여넣어 주세요 :)**

<details>
<code>

여기에 붙여넣어 주세요

</code>
</details>

**사용하고 계시는 프로그램의 버전을 입력해 주세요 :)**

```
여기에 적어주세요
```

**기타 내용을 적어주세요 :)**
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: 기능 추가 요청
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**겪고 계신 문제를 설명해 주세요 :)**
[...] 할때 항상 [...] 문제가 있습니다.

**원하시는 솔루션을 설명해 주세요 :)**

**다른 대안을 고려해 보셨다면 설명해 주세요 :)**

**사용하고 계시는 프로그램의 버전을 적어주세요 :)**

**기타 내용을 적어주세요 :)**
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: 'github-actions' # See documentation for possible values
directory: '/' # Location of package manifests
schedule:
interval: 'daily'
target-branch: 'master'
16 changes: 16 additions & 0 deletions .github/workflows/apply-pip-compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Apply pip compile (generate lockfiles)

on: workflow_dispatch

jobs:
apply-pip-compile:
name: Apply pip compile
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: deargen/workflows/actions/apply-pip-compile@master
with:
pyproject-toml-file: pyproject.toml
requirements-in-dir: deps
requirements-out-dir: deps/lock
python-platforms: x86_64-manylinux_2_28,aarch64-apple-darwin,x86_64-apple-darwin,x86_64-pc-windows-msvc
19 changes: 19 additions & 0 deletions .github/workflows/apply-ruff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Apply ruff format, isort, and fixes

on:
workflow_dispatch:
inputs:
ruff-select:
description: 'ruff select'
default: I,D20,D21,UP00,UP032,UP034
ruff-ignore:
description: 'ruff ignore'
default: D212

jobs:
ruff-format:
uses: deargen/workflows/.github/workflows/apply-ruff.yml@master
with:
ruff-select: ${{ github.event.inputs.ruff-select }}
ruff-ignore: ${{ github.event.inputs.ruff-ignore }}
ruff-version-file: deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
15 changes: 15 additions & 0 deletions .github/workflows/check-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Check mkdocs build

on: pull_request

jobs:
mkdocs:
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
- name: Check mkdocs
uses: deargen/workflows/actions/check-mkdocs@master
with:
src-dir: src
requirements-docs-file: deps/lock/x86_64-manylinux_2_28/requirements_docs.txt
25 changes: 25 additions & 0 deletions .github/workflows/check-pip-compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Check pip compile sync

on:
push:
branches:
- main
- master
pull_request:

concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true

jobs:
check-pip-compile:
name: Check pip compile
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: deargen/workflows/actions/check-pip-compile@master
with:
pyproject-toml-file: pyproject.toml
requirements-in-dir: deps
requirements-out-dir: deps/lock
python-platforms: x86_64-manylinux_2_28,aarch64-apple-darwin,x86_64-apple-darwin,x86_64-pc-windows-msvc
18 changes: 18 additions & 0 deletions .github/workflows/deploy-mkdocs-on-latest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Deploy MkDocs on latest commit

on:
push:
branches:
- main
- master

jobs:
deploy-mkdocs:
uses: deargen/workflows/.github/workflows/deploy-mkdocs.yml@master
with:
deploy-type: latest
requirements-file: deps/lock/x86_64-manylinux_2_28/requirements_docs.txt
gitlab-project: ${{ vars.GITLAB_PROJECT }}
gitlab-branch: master
secrets:
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
39 changes: 39 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Commit CHANGELOG.md, create a Release and deploy MkDocs

on:
workflow_dispatch:
inputs:
version-tag:
description: Version tag
required: true
default: v0.1.0
dry-run:
description: Dry run
type: boolean
default: false
exclude-types:
description: Commit types to exclude from the changelog
required: false
default: build,docs,style,other

jobs:
commit-changelog-and-release:
uses: deargen/workflows/.github/workflows/commit-changelog-and-release.yml@master
with:
version-tag: ${{ github.event.inputs.version-tag }}
dry-run: ${{ github.event.inputs.dry-run == 'true' }}
changelog-path: docs/CHANGELOG.md
exclude-types: ${{ github.event.inputs.exclude-types }}

deploy-mkdocs:
if: ${{ github.event.inputs.dry-run == 'false' }}
needs: commit-changelog-and-release
uses: deargen/workflows/.github/workflows/deploy-mkdocs.yml@master
with:
requirements-file: deps/lock/x86_64-manylinux_2_28/requirements_docs.txt
gitlab-project: ${{ vars.GITLAB_PROJECT }}
gitlab-branch: master
version-tag: ${{ github.event.inputs.version-tag }}
deploy-type: tag
secrets:
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
19 changes: 19 additions & 0 deletions .github/workflows/gen-init-py.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Generate __init__.py files

on:
workflow_dispatch:
inputs:
src-dir:
description: src directory
required: true
default: src

jobs:
generate-init-py:
name: Generate __init__.py files
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: deargen/workflows/actions/gen-init-py@master
with:
src-dir: ${{ github.event.inputs.src-dir }}
19 changes: 19 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Linting

on:
push:
branches:
- main
- master
pull_request:

concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true

jobs:
ruff-lint:
uses: deargen/workflows/.github/workflows/check-ruff.yml@master
with:
check-type: lint
ruff-version-file: deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
24 changes: 24 additions & 0 deletions .github/workflows/styles-only-changed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Style check on changed files

on: pull_request

concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true

jobs:
ruff-format-on-changes:
uses: deargen/workflows/.github/workflows/check-ruff-only-changed.yml@master
with:
check-type: format
ruff-version-file: deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
ruff-isort-on-changes:
uses: deargen/workflows/.github/workflows/check-ruff-only-changed.yml@master
with:
check-type: isort
ruff-version-file: deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
ruff-lint-on-changes:
uses: deargen/workflows/.github/workflows/check-ruff-only-changed.yml@master
with:
check-type: lint
ruff-version-file: deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
24 changes: 24 additions & 0 deletions .github/workflows/styles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Style checking

on:
push:
branches:
- main
- master
pull_request:

concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true

jobs:
ruff-format:
uses: deargen/workflows/.github/workflows/check-ruff.yml@master
with:
check-type: format
ruff-version-file: deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
ruff-isort:
uses: deargen/workflows/.github/workflows/check-ruff.yml@master
with:
check-type: isort
ruff-version-file: deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
75 changes: 75 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Tests

on:
push:
branches:
- main
- master
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
pytest:
runs-on: ubuntu-24.04
defaults:
run:
shell: bash -leo pipefail {0} # required by setup-micromamba
steps:
- uses: actions/checkout@v4
- name: Setup micromamba and uv
uses: deargen/workflows/actions/setup-micromamba-and-uv@master
- name: Cache Micromamba environment
id: cache-micromamba
uses: actions/cache@v4
env:
cache-name: cache-micromamba
with:
path: ~/micromamba/envs/test
key: ${{ runner.os }}-micromamba-${{ env.cache-name }}-${{ hashFiles('deps/lock/x86_64-manylinux_2_28/requirements_dev.txt', '.github/workflows/tests.yml', 'pyproject.toml') }}
# restore-keys: |
# ${{ runner.os }}-micromamba-${{ env.cache-name }}-
# ${{ runner.os }}-micromamba-
# ${{ runner.os }}-
- if: steps.cache-micromamba.outputs.cache-hit == 'true'
run: echo 'micromamba cache hit!'
- name: Install dependencies
if: steps.cache-micromamba.outputs.cache-hit != 'true'
run: |
uv pip install -r deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
uv pip install -e .
- name: Run pytest
uses: deargen/workflows/actions/run-pytest@master

doctest:
runs-on: ubuntu-24.04
defaults:
run:
shell: bash -leo pipefail {0} # required by setup-micromamba
steps:
- uses: actions/checkout@v4
- name: Setup micromamba and uv
uses: deargen/workflows/actions/setup-micromamba-and-uv@master
- name: Cache Micromamba environment
id: cache-micromamba
uses: actions/cache@v4
env:
cache-name: cache-micromamba
with:
path: ~/micromamba/envs/test
key: ${{ runner.os }}-micromamba-${{ env.cache-name }}-${{ hashFiles('deps/lock/x86_64-manylinux_2_28/requirements_dev.txt', '.github/workflows/tests.yml', 'pyproject.toml') }}
# restore-keys: |
# ${{ runner.os }}-micromamba-${{ env.cache-name }}-
# ${{ runner.os }}-micromamba-
# ${{ runner.os }}-
- if: steps.cache-micromamba.outputs.cache-hit == 'true'
run: echo 'micromamba cache hit!'
- name: Install dependencies
if: steps.cache-micromamba.outputs.cache-hit != 'true'
run: |
uv pip install -r deps/lock/x86_64-manylinux_2_28/requirements_dev.txt
uv pip install -e .
- name: Run doctest
uses: deargen/workflows/actions/run-doctest@master
Loading

0 comments on commit bcdebdf

Please sign in to comment.