diff --git a/.clang-format b/.clang-format deleted file mode 100644 index ce145e299c..0000000000 --- a/.clang-format +++ /dev/null @@ -1,30 +0,0 @@ ---- -BasedOnStyle: Google -AlignAfterOpenBracket: Align -AlignConsecutiveAssignments: 'true' -AlignConsecutiveDeclarations: 'true' -AlignOperands: 'true' -AllowAllParametersOfDeclarationOnNextLine: 'false' -AllowShortCaseLabelsOnASingleLine: 'false' -AllowShortFunctionsOnASingleLine: Empty -AllowShortLoopsOnASingleLine: 'false' -AlwaysBreakAfterDefinitionReturnType: None -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: 'false' -BinPackArguments: 'true' -BinPackParameters: 'true' -ColumnLimit: '1000' -IndentCaseLabels: 'true' -IndentPPDirectives: AfterHash -IndentWidth: '4' -MaxEmptyLinesToKeep: '1' -PointerAlignment: Right -SortIncludes: 'false' -SpaceBeforeAssignmentOperators: 'true' -SpaceBeforeParens: ControlStatements -SpaceInEmptyParentheses: 'false' -SpacesBeforeTrailingComments: 1 -TabWidth: '4' -UseTab: Never - -... diff --git a/.clangd b/.clangd deleted file mode 100644 index 2be2d817fc..0000000000 --- a/.clangd +++ /dev/null @@ -1,4 +0,0 @@ -CompileFlags: - Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option] - Remove: [-W*, -mcall-prologues] - Compiler: clang diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60827f04ba..0000000000 --- a/.editorconfig +++ /dev/null @@ -1,42 +0,0 @@ -# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs -# editorconfig.org - -root = true - -[*] -indent_style = space -indent_size = 4 - -# We recommend you to keep these unchanged -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false -indent_size = 4 - -[{qmk,*.py}] -charset = utf-8 -max_line_length = 200 - -# Make these match what we have in .gitattributes -[*.mk] -end_of_line = lf -indent_style = tab - -[Makefile] -end_of_line = lf -indent_style = tab - -[*.sh] -end_of_line = lf - -# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files - - -# We don't have gitattributes properly for these -# So if the user have for example core.autocrlf set to true -# the line endings would be wrong. -[lib/**] -end_of_line = unset diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 30a783f26c..0000000000 --- a/.gitattributes +++ /dev/null @@ -1,96 +0,0 @@ -# auto for anything unspecified -* text=auto - -# sources -*.c text eol=lf -*.cc text eol=lf -*.cxx text eol=lf -*.cpp text eol=lf -*.c++ text eol=lf -*.hpp text eol=lf -*.h text eol=lf -*.h++ text eol=lf -*.hh text eol=lf -*.bat text eol=crlf -*.cmd text eol=crlf -*.coffee text eol=lf -*.css text eol=lf -*.htm text eol=lf -*.html text eol=lf -*.inc text eol=lf -*.ini text eol=crlf -*.js text eol=lf -*.jsx text eol=lf -*.json text eol=lf -*.less text eol=lf -*.php text eol=lf -*.pl text eol=lf -*.py text eol=lf -*.rb text eol=lf -*.sass text eol=lf -*.scm text eol=lf -*.scss text eol=lf -*.sh text eol=lf -*.sql text eol=lf -*.styl text eol=lf -*.ts text eol=lf -*.xml text eol=lf -*.xhtml text eol=lf - -# make files (need to always use lf for compatibility with Windows 10 bash) -Makefile eol=lf -*.mk eol=lf - -# make files (need to always use lf for compatibility with Windows 10 bash) -*.sh eol=lf - -# documentation -*.markdown text eol=lf -*.md text eol=lf -*.mdwn text eol=lf -*.mdown text eol=lf -*.mkd text eol=lf -*.mkdn text eol=lf -*.mdtxt text eol=lf -*.mdtext text eol=lf -*.txt text eol=lf -AUTHORS text eol=lf -CHANGELOG text eol=lf -CHANGES text eol=lf -CONTRIBUTING text eol=lf -COPYING text eol=lf -INSTALL text eol=lf -license text eol=lf -LICENSE text eol=lf -NEWS text eol=lf -readme text eol=lf -*README* text eol=lf -TODO text eol=lf - -GRAPHICS -*.ai binary -*.bmp binary -*.eps binary -*.gif binary -*.ico binary -*.jng binary -*.jp2 binary -*.jpg binary -*.jpeg binary -*.jpx binary -*.jxr binary -*.pdf binary -*.png binary -*.psb binary -*.psd binary -*.svg text eol=lf -*.svgz binary -*.tif binary -*.tiff binary -*.wbmp binary -*.webp binary - -# hex files -*.hex binary -*.eep binary -nix/sources.nix linguist-generated=true diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index a5d185e1dd..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Bug report -description: Create a report to help us improve QMK Firmware. -title: "[Bug] " -labels: ["bug", "help wanted"] -body: - - type: markdown - attributes: - value: | - Provide a general summary of the bug in the title above. - - type: textarea - attributes: - label: Describe the Bug - description: A clear and concise description of what the bug is. - - type: input - attributes: - label: Keyboard Used - description: The name of the keyboard from the `make` or `qmk compile`/`qmk flash` commands, eg. `planck/rev6`. - - type: input - attributes: - label: Link to product page (if applicable) - - type: input - attributes: - label: Operating System - - type: textarea - attributes: - label: qmk doctor Output - description: Output from running the `qmk doctor` command. - render: text - - type: checkboxes - attributes: - label: Is AutoHotKey / Karabiner installed - options: - - label: AutoHotKey (Windows) - - label: Karabiner (macOS) - - type: input - attributes: - label: Other keyboard-related software installed - - type: textarea - attributes: - label: Additional Context - description: Add any other relevant information about the problem here. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 0d4ca035c8..0000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,8 +0,0 @@ -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.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index fdb32f098d..0000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Feature request -description: Suggest a new feature or changes to existing features. -title: "[Feature Request] " -labels: ["enhancement", "help wanted"] -body: - - type: markdown - attributes: - value: | - Provide a general summary of the changes you want in the title above. - - Please refrain from asking maintainers to add support for specific keyboards -- it is unlikely they will have hardware available, and will not be able to help. - Your best bet is to take the initiative, add support, then submit a PR yourself. - - type: checkboxes - attributes: - label: Feature Request Type - options: - - label: Core functionality - - label: Add-on hardware support (eg. audio, RGB, OLED screen, etc.) - - label: Alteration (enhancement/optimization) of existing feature(s) - - label: New behavior - - type: textarea - attributes: - label: Description - description: A few sentences describing what it is that you'd like to see in QMK. Additional information (such as links to spec sheets, licensing info, other related issues or PRs, etc) would be helpful. diff --git a/.github/ISSUE_TEMPLATE/other_issues.yml b/.github/ISSUE_TEMPLATE/other_issues.yml deleted file mode 100644 index d3a890e45d..0000000000 --- a/.github/ISSUE_TEMPLATE/other_issues.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Other issues -description: Anything else that doesn't fall into the above categories. -labels: ["help wanted", "question"] -body: - - type: markdown - attributes: - value: | - Provide a general summary of the changes you want in the title above. - - type: markdown - attributes: - value: | - Please check [https://docs.qmk.fm/#/support](https://docs.qmk.fm/#/support) for additional resources first. If that doesn't answer your question, choose the bug report template instead, as that may be more appropriate. - - Please refrain from asking maintainers to add support for specific keyboards -- it is unlikely they will have hardware available, and will not be able to help. - Your best bet is to take the initiative, add support, then submit a PR yourself. - - type: textarea - attributes: - label: Issue Description - description: Describe your issue in as much detail as possible. diff --git a/.github/ISSUE_TEMPLATE/zzz_blank.md b/.github/ISSUE_TEMPLATE/zzz_blank.md deleted file mode 100644 index 5644802ef5..0000000000 --- a/.github/ISSUE_TEMPLATE/zzz_blank.md +++ /dev/null @@ -1,11 +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. -title: '' -labels: help wanted, question -assignees: '' - ---- - - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index d402488d40..0000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -## Description - - - -## Types of Changes - - -- [ ] Core -- [ ] Bugfix -- [ ] New feature -- [ ] Enhancement/optimization -- [ ] Keyboard (addition or update) -- [ ] Keymap/layout/userspace (addition or update) -- [ ] Documentation - -## Issues Fixed or Closed by This PR - -* - -## Checklist - - - -- [ ] My code follows the code style of this project: [**C**](https://docs.qmk.fm/#/coding_conventions_c), [**Python**](https://docs.qmk.fm/#/coding_conventions_python) -- [ ] I have read the [**PR Checklist** document](https://docs.qmk.fm/#/pr_checklist) and have made the appropriate changes. -- [ ] My change requires a change to the documentation. -- [ ] I have updated the documentation accordingly. -- [ ] I have read the [**CONTRIBUTING** document](https://docs.qmk.fm/#/contributing). -- [ ] I have added tests to cover my changes. -- [ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage). diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 562d671c8e..0000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "github-actions" - directory: "/" - labels: CI - reviewers: - - "qmk/collaborators" - schedule: - interval: "daily" diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index 95eaa49252..0000000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,46 +0,0 @@ -core: - - quantum/**/* - - tmk_core/**/* - - drivers/**/* - - tests/**/* - - util/**/* - - platforms/**/* - - builddefs/**/* - - Makefile - - '*.mk' -dependencies: - - any: - - 'lib/**/*' - - '!lib/python/**/*' -keyboard: - - any: - - 'keyboards/**/*' - - '!keyboards/**/keymaps/**/*' -keymap: - - users/**/* - - layouts/**/* - - keyboards/**/keymaps/**/* -via: - - keyboards/**/keymaps/via/* -cli: - - 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/**/* -dd: - - data/constants/**/* - - data/mappings/**/* - - data/schemas/**/* diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml deleted file mode 100644 index db78f16112..0000000000 --- a/.github/workflows/api.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Update API Data - -permissions: - contents: read - -on: - push: - branches: - - master - - develop - paths: - - 'keyboards/**' - - 'layouts/community/**' - - 'lib/python/**' - - 'data/**' - - '.github/workflows/api.yml' - workflow_dispatch: - -jobs: - api_data: - runs-on: ubuntu-latest - container: ghcr.io/qmk/qmk_cli - - # protect against those who work in their fork on 'important' branches - if: github.repository == 'qmk/qmk_firmware' - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 1 - persist-credentials: false - - - name: Install dependencies - run: | - pip3 install -r requirements-dev.txt - - - 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: ${{ github.ref == 'refs/heads/develop' && secrets['API_SPACE_DEVELOP'] || 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: '.build/api_data' diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml deleted file mode 100644 index 1db1c49a9b..0000000000 --- a/.github/workflows/auto_approve.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Automatic Approve - -permissions: {} - -on: - schedule: - - cron: "*/5 * * * *" - -jobs: - automatic_approve: - runs-on: ubuntu-latest - - if: github.repository == 'qmk/qmk_firmware' - - steps: - - uses: mheap/automatic-approve-action@v1 - with: - token: ${{ secrets.QMK_BOT_TOKEN }} - workflows: "format.yml,lint.yml,unit_test.yml" - dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/" diff --git a/.github/workflows/auto_tag.yml b/.github/workflows/auto_tag.yml deleted file mode 100644 index b4465277b0..0000000000 --- a/.github/workflows/auto_tag.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Essential files modified - -permissions: - contents: write - -on: - workflow_dispatch: - push: - branches: - - master - paths: - - builddefs/**/* - - drivers/**/* - - platforms/**/* - - quantum/**/* - - tests/**/* - - tmk_core/**/* - - util/**/* - - 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@v4 - with: - fetch-depth: 0 - - - name: Bump version and push tag - uses: anothrNick/github-tag-action@1.66.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEFAULT_BUMP: 'patch' diff --git a/.github/workflows/ci_builds.yml b/.github/workflows/ci_builds.yml deleted file mode 100644 index 81151d6898..0000000000 --- a/.github/workflows/ci_builds.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: CI Builds - -permissions: - contents: read - -on: - push: - branches: [master, develop] - workflow_dispatch: - inputs: - branch: - type: choice - description: 'Branch to build' - options: [master, develop] - -concurrency: ci_build-${{ github.event.inputs.branch || github.ref_name }} - -jobs: - ci_builds: - if: github.repository == 'qmk/qmk_firmware' - name: "CI Build" - runs-on: self-hosted - timeout-minutes: 1380 - - strategy: - fail-fast: false - matrix: - keymap: [default, via] - - container: ghcr.io/qmk/qmk_cli - - steps: - - name: Disable safe.directory check - run : git config --global --add safe.directory '*' - - - uses: actions/checkout@v4 - with: - submodules: recursive - ref: ${{ github.event.inputs.branch || github.ref }} - - - name: Install dependencies - run: pip3 install -r requirements.txt - - - name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }}) - run: | - export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) - qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes || touch .failed - # Generate the step summary markdown - ./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true - # Truncate to a maximum of 1MB to deal with GitHub workflow limit - truncate --size='<960K' $GITHUB_STEP_SUMMARY || true - # Exit with failure if the compilation stage failed - [ ! -f .failed ] || exit 1 - - - name: 'Upload artifacts' - uses: actions/upload-artifact@v3 - if: always() - with: - name: artifacts-${{ github.event.inputs.branch || github.ref_name }}-${{ matrix.keymap }} - if-no-files-found: ignore - path: | - *.bin - *.hex - *.uf2 - .build/failed.* - - - name: 'CI Discord Notification' - if: always() - working-directory: util/ci/ - env: - DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }} - run: | - python3 -m pip install -r requirements.txt - python3 ./discord-results.py --branch ${{ github.event.inputs.branch || github.ref_name }} --keymap ${{ matrix.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml deleted file mode 100644 index 77b5bfe073..0000000000 --- a/.github/workflows/cli.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: CLI CI - -permissions: - contents: read - -on: - push: - branches: - - master - - develop - pull_request: - paths: - - 'lib/python/**' - - 'requirements.txt' - - '.github/workflows/cli.yml' - -jobs: - test: - runs-on: ubuntu-latest - - container: ghcr.io/qmk/qmk_cli - - steps: - - name: Disable safe.directory check - run : git config --global --add safe.directory '*' - - - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Install dependencies - run: pip3 install -r requirements-dev.txt - - name: Run tests - run: qmk pytest diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml deleted file mode 100644 index afcda1fe98..0000000000 --- a/.github/workflows/develop_update.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Update develop after master merge - -permissions: - contents: write - -on: - push: - branches: - - master - -jobs: - develop_update: - runs-on: ubuntu-latest - - if: github.repository == 'qmk/qmk_firmware' - - steps: - - uses: actions/checkout@v4 - with: - token: ${{ secrets.QMK_BOT_TOKEN }} - fetch-depth: 0 - - - name: Disable automatic eol conversion - run: | - echo "* -text" > .git/info/attributes - - - name: Checkout develop - run: | - git fetch origin master develop - git checkout develop - - - name: Update develop from master - 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 deleted file mode 100644 index a6944e1816..0000000000 --- a/.github/workflows/docs.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Generate Docs - -permissions: - contents: write - -on: - push: - branches: - - master - paths: - - 'tmk_core/**' - - 'quantum/**' - - 'platforms/**' - - 'docs/**' - - '.github/workflows/docs.yml' - -jobs: - generate: - runs-on: ubuntu-latest - container: ghcr.io/qmk/qmk_cli - - # protect against those who develop with their fork on master - if: github.repository == 'qmk/qmk_firmware' - - steps: - - uses: actions/checkout@v4 - 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@v4.4.3 - 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/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml deleted file mode 100644 index 283a255342..0000000000 --- a/.github/workflows/feature_branch_update.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Update feature branches after develop merge - -permissions: - contents: write - -on: - push: - branches: - - develop - -jobs: - feature_branch_update: - runs-on: ubuntu-latest - - if: github.repository == 'qmk/qmk_firmware' - - strategy: - matrix: - branch: - - xap - - riot - - steps: - - uses: actions/checkout@v4 - with: - token: ${{ secrets.QMK_BOT_TOKEN }} - fetch-depth: 0 - - - name: Disable automatic eol conversion - run: | - echo "* -text" > .git/info/attributes - - - name: Checkout branch - run: | - git fetch origin develop ${{ matrix.branch }} - git checkout ${{ matrix.branch }} - - - name: Update branch from develop - run: | - git config --global user.name "QMK Bot" - git config --global user.email "hello@qmk.fm" - git merge origin/develop - git push origin ${{ matrix.branch }} diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml deleted file mode 100644 index 9e8b80c883..0000000000 --- a/.github/workflows/format.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: PR Lint Format - -permissions: - contents: read - -on: - pull_request: - paths: - - 'drivers/**' - - 'lib/arm_atsam/**' - - 'lib/lib8tion/**' - - 'lib/python/**' - - 'platforms/**' - - 'quantum/**' - - 'tests/**' - - 'tmk_core/**' - -jobs: - lint: - runs-on: ubuntu-latest - - container: ghcr.io/qmk/qmk_cli - - steps: - - name: Disable safe.directory check - run : git config --global --add safe.directory '*' - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Install dependencies - run: | - pip3 install -r requirements-dev.txt - - - name: Get changed files - id: file_changes - uses: tj-actions/changed-files@v39 - - - name: Run qmk formatters - shell: 'bash {0}' - run: | - echo '${{ steps.file_changes.outputs.added_files}}' '${{ steps.file_changes.outputs.modified_files}}' > ~/files_changed.txt - qmk format-c --core-only $(< ~/files_changed.txt) || true - qmk format-python $(< ~/files_changed.txt) || true - qmk format-text $(< ~/files_changed.txt) || true - - - name: Fail when formatting required - run: | - git diff - for file in $(git diff --name-only); do - echo "File '${file}' Requires Formatting" - echo "::error file=${file}::Requires Formatting" - done - test -z "$(git diff --name-only)" diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml deleted file mode 100644 index 61b4caf422..0000000000 --- a/.github/workflows/format_push.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Lint Format - -permissions: - contents: read - -on: - push: - branches: - - master - - develop - -jobs: - lint: - runs-on: ubuntu-latest - - container: ghcr.io/qmk/qmk_cli - - steps: - - name: Disable safe.directory check - run : git config --global --add safe.directory '*' - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Disable automatic eol conversion - run: | - echo "* -text" > .git/info/attributes - - - name: Install dependencies - run: | - pip3 install -r requirements-dev.txt - - - name: Run qmk formatters - shell: 'bash {0}' - run: | - qmk format-c -a - qmk format-python -a - qmk format-text -a - git diff - - - uses: rlespinasse/github-slug-action@v3.x - - - name: Become QMK Bot - run: | - git config user.name 'QMK Bot' - git config user.email 'hello@qmk.fm' - - - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 - if: ${{ github.repository == 'qmk/qmk_firmware'}} - with: - token: ${{ secrets.QMK_BOT_TOKEN }} - delete-branch: true - branch: bugfix/format_${{ env.GITHUB_REF_SLUG }} - author: QMK Bot - committer: QMK Bot - commit-message: Format code according to conventions - title: '[CI] Format code according to conventions' diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml deleted file mode 100644 index 95f58ff003..0000000000 --- a/.github/workflows/labeler.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: "Pull Request Labeler" - -permissions: - contents: read - pull-requests: write - -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 deleted file mode 100644 index 19dd7c70a9..0000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: PR Lint keyboards - -permissions: - contents: read - -on: - pull_request: - paths: - - 'keyboards/**' - -jobs: - lint: - runs-on: ubuntu-latest - - container: ghcr.io/qmk/qmk_cli - - steps: - - name: Disable safe.directory check - run : git config --global --add safe.directory '*' - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Install dependencies - run: pip3 install -r requirements-dev.txt - - - name: Get changed files - id: file_changes - uses: tj-actions/changed-files@v39 - - - name: Print info - run: | - git rev-parse --short HEAD - echo ${{ github.event.pull_request.base.sha }} - echo '${{ steps.file_changes.outputs.all_changed_files}}' - - - name: Run qmk lint - if: always() - shell: 'bash {0}' - run: | - QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.all_changed_files}}' | sed 's/ /\n/g') - 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 - - qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true - for file in ${{ steps.file_changes.outputs.all_changed_files}}; do - if ! git diff --quiet $file; then - echo "File '${file}' Requires Formatting" - echo "::error file=${file}::Requires Formatting" - exit_code=$(($exit_code + 1)) - fi - done - - if [[ $exit_code -gt 255 ]]; then - exit 255 - fi - exit $exit_code - - - name: Verify keyboard aliases - if: always() - shell: 'bash {0}' - run: | - git reset --hard - git clean -xfd - qmk ci-validate-aliases diff --git a/.github/workflows/regen.yml b/.github/workflows/regen.yml deleted file mode 100644 index a31526084f..0000000000 --- a/.github/workflows/regen.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: PR Regenerate Files - -permissions: - contents: read - -on: - pull_request: - paths: - - 'data/constants/**' - - 'lib/python/**' - -jobs: - regen: - runs-on: ubuntu-latest - - container: ghcr.io/qmk/qmk_cli - - steps: - - name: Disable safe.directory check - run : git config --global --add safe.directory '*' - - - uses: actions/checkout@v4 - - - name: Run qmk generators - run: | - util/regen.sh - git diff - - - name: Fail when regeneration required - run: | - git diff - for file in $(git diff --name-only); do - echo "File '${file}' Requires Regeneration" - echo "::error file=${file}::Requires Regeneration" - done - test -z "$(git diff --name-only)" diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml deleted file mode 100644 index f1b7812937..0000000000 --- a/.github/workflows/regen_push.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Regenerate Files - -permissions: - contents: write - -on: - push: - branches: - - master - - develop - -jobs: - regen: - runs-on: ubuntu-latest - - container: ghcr.io/qmk/qmk_cli - - steps: - - name: Disable safe.directory check - run : git config --global --add safe.directory '*' - - - uses: actions/checkout@v4 - - - name: Run qmk generators - run: | - util/regen.sh - git diff - - - uses: rlespinasse/github-slug-action@v3.x - - - name: Become QMK Bot - run: | - git config user.name 'QMK Bot' - git config user.email 'hello@qmk.fm' - - - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 - if: ${{ github.repository == 'qmk/qmk_firmware'}} - with: - token: ${{ secrets.QMK_BOT_TOKEN }} - delete-branch: true - branch: bugfix/regen_${{ env.GITHUB_REF_SLUG }} - author: QMK Bot - committer: QMK Bot - commit-message: Regenerate Files - title: '[CI] Regenerate Files' diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index f011fb5460..0000000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: 'Close stale issues and PRs' - -permissions: - issues: write - pull-requests: write - -on: - schedule: - - cron: '30 1 * * *' - workflow_dispatch: - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v8 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - - remove-stale-when-updated: true - exempt-draft-pr: true - ascending: true - operations-per-run: 150 - - stale-issue-label: stale - days-before-issue-stale: 90 - days-before-issue-close: 30 - exempt-issue-labels: bug,in progress,on hold,discussion,to do - - stale-issue-message: > - 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. - - close-issue-message: > - 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. - - // [stale-action-closed] - - stale-pr-label: stale - days-before-pr-stale: 45 - days-before-pr-close: 30 - exempt-pr-labels: bug,awaiting review,breaking_change,in progress,on hold - - stale-pr-message: > - 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 `bug`, `awaiting review`, `breaking_change`, `in progress`, or `on hold` - to prevent the issue from being re-flagged. - - close-pr-message: > - 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. - - // [stale-action-closed] diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml deleted file mode 100644 index eec8c8b5fc..0000000000 --- a/.github/workflows/unit_test.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Unit Tests - -permissions: - contents: read - -on: - push: - branches: - - master - - develop - pull_request: - paths: - - 'builddefs/**' - - 'quantum/**' - - 'platforms/**' - - 'tmk_core/**' - - 'tests/**' - - '*.mk' - - 'Makefile' - - '.github/workflows/unit_test.yml' - -jobs: - test: - runs-on: ubuntu-latest - - container: ghcr.io/qmk/qmk_cli - - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Install dependencies - run: pip3 install -r requirements-dev.txt - - name: Run tests - run: make test:all diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 068d3d784d..0000000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -// Suggested extensions -{ - "recommendations": [ - "EditorConfig.EditorConfig", - "xaver.clang-format", - "llvm-vs-code-extensions.vscode-clangd", - "bierner.github-markdown-preview", - "donjayamanne.git-extension-pack" - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index f369ecb174..0000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,34 +0,0 @@ -// Place your settings in this file to overwrite default and user settings. -{ - // Unofficially, QMK uses spaces for indentation - "editor.insertSpaces": true, - // Configure glob patterns for excluding files and folders. - "files.exclude": { - "**/.build": true, - "**/*.hex": true, - "**/*.bin": true, - "**/*.uf2": true - }, - "files.associations": { - "*.h": "c", - "*.c": "c", - "*.inc": "c", - "*.cpp": "cpp", - "*.hpp": "cpp", - "xstddef": "c", - "type_traits": "c", - "utility": "c", - "ranges": "c" - }, - "[markdown]": { - "editor.trimAutoWhitespace": false, - "files.trimTrailingWhitespace": false - }, - "python.formatting.provider": "yapf", - "[json]": { - "editor.formatOnSave": false - }, - "clangd.arguments": [ - "--header-insertion=never" - ] -}