summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorDrashna Jael're <drashna@live.com>2021-06-29 12:23:03 -0700
committerDrashna Jael're <drashna@live.com>2021-06-29 12:24:07 -0700
commitacf2c323e2927f6007b17ded577cf49fd86fec6c (patch)
tree8334dc5c71e6ab9bf33c76143eac7bb0e60159b0 /.github
parentec7a7beeed3046e9144d4c4ce0ef3b2c4f9e4341 (diff)
parentf55e39e8a2246f6f96fd5d4a84a866e2615cde7b (diff)
Merge upstream QMK Firmware at '0.12.52~1'
Diffstat (limited to '.github')
-rw-r--r--.github/ISSUE_TEMPLATE/blank.md5
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md7
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml8
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md7
-rw-r--r--.github/ISSUE_TEMPLATE/other_issues.md7
-rw-r--r--.github/ISSUE_TEMPLATE/zzz_blank.md11
-rw-r--r--.github/labeler.yml42
-rw-r--r--.github/stale.yml58
-rw-r--r--.github/workflows/api.yml37
-rw-r--r--.github/workflows/auto_tag.yaml33
-rw-r--r--.github/workflows/cli.yml28
-rw-r--r--.github/workflows/develop_api.yml37
-rw-r--r--.github/workflows/develop_update.yml37
-rw-r--r--.github/workflows/docs.yml43
-rw-r--r--.github/workflows/format.yaml42
-rw-r--r--.github/workflows/labeler.yml14
-rw-r--r--.github/workflows/lint.yml55
17 files changed, 463 insertions, 8 deletions
diff --git a/.github/ISSUE_TEMPLATE/blank.md b/.github/ISSUE_TEMPLATE/blank.md
deleted file mode 100644
index 50a32034d6..0000000000
--- a/.github/ISSUE_TEMPLATE/blank.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-name: Blank issue
-about: If you're 100% sure that you don't need one of the other issue templates, use this one instead.
-
----
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 3c35416e04..57b415f7b3 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,7 +1,12 @@
---
name: Bug report
-about: Create a report to help us improve the QMK Firmware
+about: Create a report to help us improve QMK Firmware.
+title: "[Bug] "
+labels: bug, help wanted
+assignees: ''
+
---
+
<!-- Provide a general summary of the bug in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000000..0d4ca035c8
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: QMK Discord
+ url: https://discord.gg/Uq7gcHh
+ about: Ask questions, discuss issues and features. Chill.
+ - name: OLKB Subreddit
+ url: https://www.reddit.com/r/olkb
+ about: All things OLKB and QMK.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 01aeb26cec..1876834247 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,7 +1,12 @@
---
name: Feature request
-about: Suggest a new feature or changes to existing features
+about: Suggest a new feature or changes to existing features.
+title: "[Feature Request] "
+labels: enhancement, help wanted
+assignees: ''
+
---
+
<!--- Provide a general summary of the changes you want in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
diff --git a/.github/ISSUE_TEMPLATE/other_issues.md b/.github/ISSUE_TEMPLATE/other_issues.md
index 7c4891ac31..befeeb165a 100644
--- a/.github/ISSUE_TEMPLATE/other_issues.md
+++ b/.github/ISSUE_TEMPLATE/other_issues.md
@@ -1,7 +1,12 @@
---
name: Other issues
-about: Anything else that doesn't fall into the above categories.
+about: Anything else that doesn't fall into the above categories.
+title: ''
+labels: help wanted, question
+assignees: ''
+
---
+
<!--- Provide a general summary of the changes you want in the title above. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
diff --git a/.github/ISSUE_TEMPLATE/zzz_blank.md b/.github/ISSUE_TEMPLATE/zzz_blank.md
new file mode 100644
index 0000000000..5644802ef5
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/zzz_blank.md
@@ -0,0 +1,11 @@
+---
+name: Blank issue
+about: If you're 100% sure that you don't need one of the other issue templates, use
+ this one instead.
+title: ''
+labels: help wanted, question
+assignees: ''
+
+---
+
+
diff --git a/.github/labeler.yml b/.github/labeler.yml
new file mode 100644
index 0000000000..53921f7f95
--- /dev/null
+++ b/.github/labeler.yml
@@ -0,0 +1,42 @@
+core:
+ - quantum/**/*
+ - tmk_core/**/*
+ - drivers/**/*
+ - tests/**/*
+ - util/**/*
+ - platforms/**/*
+ - Makefile
+ - '*.mk'
+dependencies:
+ - any:
+ - 'lib/**/*'
+ - '!lib/python/**/*'
+keyboard:
+ - any:
+ - 'keyboards/**/*'
+ - '!keyboards/**/keymaps/**/*'
+keymap:
+ - users/**/*
+ - layouts/**/*
+ - keyboards/**/keymaps/**/*
+via:
+ - keyboards/**/keymaps/via/*
+cli:
+ - bin/qmk
+ - requirements.txt
+ - lib/python/**/*
+python:
+ - '**/*.py'
+documentation:
+ - docs/**/*
+translation:
+ - docs/fr-fr/**/*
+ - docs/es/**/*
+ - docs/ja/**/*
+ - docs/he-il/**/*
+ - docs/pt-br/**/*
+ - docs/zh-cn/**/*
+ - docs/de/**/*
+ - docs/ru-ru/**/*
+CI:
+ - .github/**/*
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 0000000000..eb49888191
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,58 @@
+# Configuration for probot-stale - https://github.com/probot/stale
+
+# General configuration
+
+# Pull request specific configuration
+pulls:
+ staleLabel: awaiting changes
+ # Number of days of inactivity before an Issue or Pull Request becomes stale
+ daysUntilStale: 45
+ # Number of days of inactivity before a stale Issue or Pull Request is closed.
+ # Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
+ daysUntilClose: 30
+ # Comment to post when marking as stale. Set to `false` to disable
+ markComment: >
+ Thank you for your contribution!
+
+ This pull request has been automatically marked as stale because it has not had
+ activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
+ Please feel free to give a status update now, or re-open when it's ready.
+
+ For maintainers: Please label with `awaiting review`, `breaking_change`, `in progress`, or `on hold` to prevent
+ the issue from being re-flagged.
+ # Comment to post when closing a stale Issue or Pull Request.
+ closeComment: >
+ Thank you for your contribution!
+
+ This pull request has been automatically closed because it has not had activity in the last 30 days.
+ Please feel free to give a status update now, ping for review, or re-open when it's ready.
+ # Limit the number of actions per hour, from 1-30. Default is 30
+ limitPerRun: 30
+ exemptLabels:
+ - awaiting review
+ - breaking_change
+ - in progress
+ - on hold
+
+# Issue specific configuration
+issues:
+ staleLabel: stale
+ limitPerRun: 10
+ daysUntilStale: 90
+ daysUntilClose: 30
+ markComment: >
+ This issue has been automatically marked as stale because it has not had activity in the
+ last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
+ occurs.
+
+ For maintainers: Please label with `bug`, `in progress`, `on hold`, `discussion` or `to do` to prevent
+ the issue from being re-flagged.
+ closeComment: >
+ This issue has been automatically closed because it has not had activity in the last 30 days.
+ If this issue is still valid, re-open the issue and let us know.
+ exemptLabels:
+ - bug
+ - in progress
+ - on hold
+ - discussion
+ - to do
diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml
new file mode 100644
index 0000000000..c8d988d0f0
--- /dev/null
+++ b/.github/workflows/api.yml
@@ -0,0 +1,37 @@
+name: Update API Data
+
+on:
+ push:
+ branches:
+ - master
+ paths:
+ - 'keyboards/**'
+ - 'layouts/community/**'
+
+jobs:
+ api_data:
+ runs-on: ubuntu-latest
+ container: qmkfm/base_container
+
+ # protect against those who develop with their fork on master
+ if: github.repository == 'qmk/qmk_firmware'
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 1
+ persist-credentials: false
+
+ - name: Generate API Data
+ run: qmk generate-api
+
+ - name: Upload API Data
+ uses: jakejarvis/s3-sync-action@master
+ with:
+ args: --acl public-read --follow-symlinks --delete
+ env:
+ AWS_S3_BUCKET: ${{ secrets.API_SPACE_MASTER }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }}
+ AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com
+ SOURCE_DIR: 'api_data'
diff --git a/.github/workflows/auto_tag.yaml b/.github/workflows/auto_tag.yaml
new file mode 100644
index 0000000000..29e85c41ca
--- /dev/null
+++ b/.github/workflows/auto_tag.yaml
@@ -0,0 +1,33 @@
+name: Essential files modified
+
+on:
+ push:
+ branches:
+ - master
+ paths:
+ - quantum/**/*
+ - tmk_core/**/*
+ - drivers/**/*
+ - tests/**/*
+ - util/**/*
+ - platforms/**/*
+ - Makefile
+ - '*.mk'
+
+jobs:
+ tag:
+ runs-on: ubuntu-latest
+
+ # protect against those who develop with their fork on master
+ if: github.repository == 'qmk/qmk_firmware'
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Bump version and push tag
+ uses: anothrNick/github-tag-action@1.26.0
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ DEFAULT_BUMP: 'patch'
diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml
new file mode 100644
index 0000000000..28c6bb3679
--- /dev/null
+++ b/.github/workflows/cli.yml
@@ -0,0 +1,28 @@
+name: CLI CI
+
+on:
+ push:
+ branches:
+ - master
+ - future
+ pull_request:
+ paths:
+ - 'lib/python/**'
+ - 'bin/qmk'
+ - 'requirements.txt'
+ - '.github/workflows/cli.yml'
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+
+ container: qmkfm/base_container
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: recursive
+ - name: Install dependencies
+ run: pip3 install -r requirements.txt
+ - name: Run tests
+ run: bin/qmk pytest
diff --git a/.github/workflows/develop_api.yml b/.github/workflows/develop_api.yml
new file mode 100644
index 0000000000..4e64cbcf8c
--- /dev/null
+++ b/.github/workflows/develop_api.yml
@@ -0,0 +1,37 @@
+name: Update Develop API Data
+
+on:
+ push:
+ branches:
+ - develop
+ paths:
+ - 'keyboards/**'
+ - 'layouts/community/**'
+
+jobs:
+ api_data:
+ runs-on: ubuntu-latest
+ container: qmkfm/base_container
+
+ # protect against those who work in their fork on develop
+ if: github.repository == 'qmk/qmk_firmware'
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 1
+ persist-credentials: false
+
+ - name: Generate API Data
+ run: qmk generate-api
+
+ - name: Upload API Data
+ uses: jakejarvis/s3-sync-action@master
+ with:
+ args: --acl public-read --follow-symlinks --delete
+ env:
+ AWS_S3_BUCKET: ${{ secrets.API_SPACE_DEVELOP }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }}
+ AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com
+ SOURCE_DIR: 'api_data'
diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml
new file mode 100644
index 0000000000..285720fefe
--- /dev/null
+++ b/.github/workflows/develop_update.yml
@@ -0,0 +1,37 @@
+name: Update develop after master merge
+
+on:
+ push:
+ branches:
+ - master
+
+
+jobs:
+ develop_update:
+ runs-on: ubuntu-latest
+
+ if: github.repository == 'qmk/qmk_firmware'
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Checkout develop
+ run: |
+ git fetch origin master develop
+ git checkout develop
+
+ - name: Check if branch locked
+ id: check_locked
+ uses: andstor/file-existence-action@v1
+ with:
+ files: ".locked"
+
+ - name: Update develop from master
+ if: steps.check_locked.outputs.files_exists == 'false'
+ run: |
+ git config --global user.name "QMK Bot"
+ git config --global user.email "hello@qmk.fm"
+ git merge origin/master
+ git push origin develop
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 0000000000..8855d1107f
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,43 @@
+name: Generate Docs
+
+on:
+ push:
+ branches:
+ - master
+ paths:
+ - 'tmk_core/**'
+ - 'quantum/**'
+ - 'platforms/**'
+ - 'docs/**'
+ - '.github/workflows/docs.yml'
+
+jobs:
+ generate:
+ runs-on: ubuntu-latest
+ container: qmkfm/base_container
+
+ # protect against those who develop with their fork on master
+ if: github.repository == 'qmk/qmk_firmware'
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 1
+
+ - name: Install dependencies
+ run: |
+ apt-get update && apt-get install -y rsync nodejs npm doxygen
+ npm install -g moxygen
+
+ - name: Build docs
+ run: |
+ qmk --verbose generate-docs
+
+ - name: Deploy
+ uses: JamesIves/github-pages-deploy-action@3.7.1
+ with:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ BASE_BRANCH: master
+ BRANCH: gh-pages
+ FOLDER: .build/docs
+ GIT_CONFIG_EMAIL: hello@qmk.fm
diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml
new file mode 100644
index 0000000000..c17a04a542
--- /dev/null
+++ b/.github/workflows/format.yaml
@@ -0,0 +1,42 @@
+name: PR Lint Format
+
+on:
+ pull_request:
+ paths:
+ - 'drivers/**'
+ - 'lib/arm_atsam/**'
+ - 'lib/lib8tion/**'
+ - 'lib/python/**'
+ - 'platforms/**'
+ - 'quantum/**'
+ - 'tests/**'
+ - 'tmk_core/**'
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+
+ container: qmkfm/base_container
+
+ steps:
+ - uses: rlespinasse/github-slug-action@v3.x
+
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - uses: trilom/file-changes-action@v1.2.4
+ id: file_changes
+ with:
+ output: ' '
+ fileOutput: ' '
+
+ - name: Run qmk cformat and qmk pyformat
+ shell: 'bash {0}'
+ run: |
+ qmk cformat --core-only -n $(< ~/files.txt)
+ cformat_exit=$?
+ qmk pyformat -n
+ pyformat_exit=$?
+
+ exit $((cformat_exit + pyformat_exit))
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
new file mode 100644
index 0000000000..3b99a8f43e
--- /dev/null
+++ b/.github/workflows/labeler.yml
@@ -0,0 +1,14 @@
+name: "Pull Request Labeler"
+
+on:
+ pull_request_target:
+ types: [opened, synchronize, reopened, ready_for_review, locked]
+
+jobs:
+ triage:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/labeler@main
+ with:
+ repo-token: "${{ secrets.GITHUB_TOKEN }}"
+ configuration-path: '.github/labeler.yml'
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000000..cd67de9d8b
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,55 @@
+name: PR Lint keyboards
+
+on:
+ pull_request:
+ paths:
+ - 'keyboards/**'
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+
+ container: qmkfm/base_container
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - uses: trilom/file-changes-action@v1.2.4
+ id: file_changes
+ with:
+ output: '\n'
+
+ - name: Print info
+ run: |
+ git rev-parse --short HEAD
+ echo ${{ github.event.pull_request.base.sha }}
+ echo '${{ steps.file_changes.outputs.files}}'
+
+ - name: Run qmk lint
+ shell: 'bash {0}'
+ run: |
+ QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.files}}')
+ QMK_KEYBOARDS=$(qmk list-keyboards)
+
+ exit_code=0
+ for KB in $QMK_KEYBOARDS; do
+ KEYBOARD_CHANGES=$(echo "$QMK_CHANGES" | grep -E '^(keyboards/'${KB}'/)')
+ if [[ -z "$KEYBOARD_CHANGES" ]]; then
+ # skip as no changes for this keyboard
+ continue
+ fi
+
+ KEYMAP_ONLY=$(echo "$KEYBOARD_CHANGES" | grep -cv /keymaps/)
+ if [[ $KEYMAP_ONLY -gt 0 ]]; then
+ echo "linting ${KB}"
+
+ qmk lint --keyboard ${KB} && qmk info -l --keyboard ${KB}
+ exit_code=$(($exit_code + $?))
+ fi
+ done
+ if [[ $exit_code -gt 255 ]]; then
+ exit 255
+ fi
+ exit $exit_code