diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/api.yml | 50 | ||||
-rw-r--r-- | .github/workflows/auto_approve.yml | 20 | ||||
-rw-r--r-- | .github/workflows/auto_tag.yml | 38 | ||||
-rw-r--r-- | .github/workflows/ci_builds.yml | 74 | ||||
-rw-r--r-- | .github/workflows/cli.yml | 34 | ||||
-rw-r--r-- | .github/workflows/develop_update.yml | 37 | ||||
-rw-r--r-- | .github/workflows/docs.yml | 46 | ||||
-rw-r--r-- | .github/workflows/feature_branch_update.yml | 43 | ||||
-rw-r--r-- | .github/workflows/format.yml | 55 | ||||
-rw-r--r-- | .github/workflows/format_push.yml | 59 | ||||
-rw-r--r-- | .github/workflows/labeler.yml | 18 | ||||
-rw-r--r-- | .github/workflows/lint.yml | 83 | ||||
-rw-r--r-- | .github/workflows/regen.yml | 36 | ||||
-rw-r--r-- | .github/workflows/regen_push.yml | 46 | ||||
-rw-r--r-- | .github/workflows/stale.yml | 65 | ||||
-rw-r--r-- | .github/workflows/unit_test.yml | 35 |
16 files changed, 0 insertions, 739 deletions
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 <hello@qmk.fm> - committer: QMK Bot <hello@qmk.fm> - 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 <hello@qmk.fm> - committer: QMK Bot <hello@qmk.fm> - 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 |