summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/ISSUE_TEMPLATE/00_bug.yaml54
-rw-r--r--.github/ISSUE_TEMPLATE/01_feature.yaml38
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml8
-rw-r--r--.github/actions/pre-test/action.yml9
-rw-r--r--.github/workflows/languages.yaml82
-rw-r--r--.github/workflows/main.yml23
6 files changed, 214 insertions, 0 deletions
diff --git a/.github/ISSUE_TEMPLATE/00_bug.yaml b/.github/ISSUE_TEMPLATE/00_bug.yaml
new file mode 100644
index 0000000..980f7af
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/00_bug.yaml
@@ -0,0 +1,54 @@
+name: bug report
+description: something went wrong
+body:
+ - type: markdown
+ attributes:
+ value: |
+ this is for issues for `pre-commit` (the framework).
+ if you are reporting an issue for [pre-commit.ci] please report it at [pre-commit-ci/issues]
+
+ [pre-commit.ci]: https://pre-commit.ci
+ [pre-commit-ci/issues]: https://github.com/pre-commit-ci/issues
+ - type: input
+ id: search
+ attributes:
+ label: search you tried in the issue tracker
+ placeholder: ...
+ validations:
+ required: true
+ - type: markdown
+ attributes:
+ value: |
+ 95% of issues created are duplicates.
+ please try extra hard to find them first.
+ it's very unlikely your problem is unique.
+ - type: textarea
+ id: freeform
+ attributes:
+ label: describe your issue
+ placeholder: 'I was doing ... I ran ... I expected ... I got ...'
+ validations:
+ required: true
+ - type: input
+ id: version
+ attributes:
+ label: pre-commit --version
+ placeholder: pre-commit x.x.x
+ validations:
+ required: true
+ - type: textarea
+ id: configuration
+ attributes:
+ label: .pre-commit-config.yaml
+ description: (auto-rendered as yaml, no need for backticks)
+ placeholder: 'repos: ...'
+ render: yaml
+ validations:
+ required: true
+ - type: textarea
+ id: error-log
+ attributes:
+ label: '~/.cache/pre-commit/pre-commit.log (if present)'
+ placeholder: "### version information\n..."
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/01_feature.yaml b/.github/ISSUE_TEMPLATE/01_feature.yaml
new file mode 100644
index 0000000..c7ddc84
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/01_feature.yaml
@@ -0,0 +1,38 @@
+name: feature request
+description: something new
+body:
+ - type: markdown
+ attributes:
+ value: |
+ this is for issues for `pre-commit` (the framework).
+ if you are reporting an issue for [pre-commit.ci] please report it at [pre-commit-ci/issues]
+
+ [pre-commit.ci]: https://pre-commit.ci
+ [pre-commit-ci/issues]: https://github.com/pre-commit-ci/issues
+ - type: input
+ id: search
+ attributes:
+ label: search you tried in the issue tracker
+ placeholder: ...
+ validations:
+ required: true
+ - type: markdown
+ attributes:
+ value: |
+ 95% of issues created are duplicates.
+ please try extra hard to find them first.
+ it's very unlikely your feature idea is a new one.
+ - type: textarea
+ id: freeform
+ attributes:
+ label: describe your actual problem
+ placeholder: 'I want to do ... I tried ... It does not work because ...'
+ validations:
+ required: true
+ - type: input
+ id: version
+ attributes:
+ label: pre-commit --version
+ placeholder: pre-commit x.x.x
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..4179f47
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+- name: documentation
+ url: https://pre-commit.com
+ about: please check the docs first
+- name: pre-commit.ci issues
+ url: https://github.com/pre-commit-ci/issues
+ about: please report issues about pre-commit.ci here
diff --git a/.github/actions/pre-test/action.yml b/.github/actions/pre-test/action.yml
new file mode 100644
index 0000000..b70c942
--- /dev/null
+++ b/.github/actions/pre-test/action.yml
@@ -0,0 +1,9 @@
+inputs:
+ env:
+ default: ${{ matrix.env }}
+
+runs:
+ using: composite
+ steps:
+ - uses: asottile/workflows/.github/actions/latest-git@v1.4.0
+ if: inputs.env == 'py39' && runner.os == 'Linux'
diff --git a/.github/workflows/languages.yaml b/.github/workflows/languages.yaml
new file mode 100644
index 0000000..7d50535
--- /dev/null
+++ b/.github/workflows/languages.yaml
@@ -0,0 +1,82 @@
+name: languages
+
+on:
+ push:
+ branches: [main, test-me-*]
+ tags: '*'
+ pull_request:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ vars:
+ runs-on: ubuntu-latest
+ outputs:
+ languages: ${{ steps.vars.outputs.languages }}
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-python@v4
+ with:
+ python-version: 3.9
+ - name: install deps
+ run: python -mpip install -e . -r requirements-dev.txt
+ - name: vars
+ run: testing/languages ${{ github.event_name == 'push' && '--all' || '' }}
+ id: vars
+ language:
+ needs: [vars]
+ runs-on: ${{ matrix.os }}
+ if: needs.vars.outputs.languages != '[]'
+ strategy:
+ fail-fast: false
+ matrix:
+ include: ${{ fromJSON(needs.vars.outputs.languages) }}
+ steps:
+ - uses: asottile/workflows/.github/actions/fast-checkout@v1.4.0
+ - uses: actions/setup-python@v4
+ with:
+ python-version: 3.9
+
+ - run: echo "$CONDA\Scripts" >> "$GITHUB_PATH"
+ shell: bash
+ if: matrix.os == 'windows-latest' && matrix.language == 'conda'
+ - run: testing/get-coursier.sh
+ shell: bash
+ if: matrix.language == 'coursier'
+ - run: testing/get-dart.sh
+ shell: bash
+ if: matrix.language == 'dart'
+ - run: |
+ sudo apt-get update
+ sudo apt-get install -y --no-install-recommends \
+ lua5.3 \
+ liblua5.3-dev \
+ luarocks
+ if: matrix.os == 'ubuntu-latest' && matrix.language == 'lua'
+ - run: |
+ echo 'C:\Strawberry\perl\bin' >> "$GITHUB_PATH"
+ echo 'C:\Strawberry\perl\site\bin' >> "$GITHUB_PATH"
+ echo 'C:\Strawberry\c\bin' >> "$GITHUB_PATH"
+ shell: bash
+ if: matrix.os == 'windows-latest' && matrix.language == 'perl'
+ - uses: haskell/actions/setup@v2
+ if: matrix.language == 'haskell'
+
+ - name: install deps
+ run: python -mpip install -e . -r requirements-dev.txt
+ - name: run tests
+ run: coverage run -m pytest tests/languages/${{ matrix.language }}_test.py
+ - name: check coverage
+ run: coverage report --include pre_commit/languages/${{ matrix.language }}.py,tests/languages/${{ matrix.language }}_test.py
+ collector:
+ needs: [language]
+ if: always()
+ runs-on: ubuntu-latest
+ steps:
+ - name: check for failures
+ if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
+ run: echo job failed && exit 1
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..2355b66
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,23 @@
+name: main
+
+on:
+ push:
+ branches: [main, test-me-*]
+ tags: '*'
+ pull_request:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ main-windows:
+ uses: asottile/workflows/.github/workflows/tox.yml@v1.6.0
+ with:
+ env: '["py39"]'
+ os: windows-latest
+ main-linux:
+ uses: asottile/workflows/.github/workflows/tox.yml@v1.6.0
+ with:
+ env: '["py39", "py310", "py311", "py312"]'
+ os: ubuntu-latest