Compare commits

...

4 Commits

Author SHA1 Message Date
Cutieguwu 54f9e749d2 Shed CI things that I'll never use.
- Rename qmk to qmk.py
2026-07-03 06:04:01 -04:00
Cutieguwu 28250c5f16 Remove the stupid requirements for qmk clone detection.
CLI Lint / lint (push) Has been cancelled
CLI Setup / test_cli_base_container (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (macos-latest, 3.10) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (macos-latest, 3.11) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (macos-latest, 3.12) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (macos-latest, 3.13) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (macos-latest, 3.14) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (macos-latest, 3.9) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (ubuntu-latest, 3.10) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (ubuntu-latest, 3.11) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (ubuntu-latest, 3.12) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (ubuntu-latest, 3.13) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (ubuntu-latest, 3.14) (push) Has been cancelled
CLI Setup / test_cli_linux_macos (ubuntu-latest, 3.9) (push) Has been cancelled
CLI Setup / test_cli_win (push) Has been cancelled
CLI Setup / test_docker_container (push) Has been cancelled
2026-07-03 06:00:59 -04:00
Cutieguwu ea7b79127a Delete requirements.txt 2026-07-03 06:00:17 -04:00
Cutieguwu e771a06841 Scrap useless CI.
- Also moved ci_tests to ci_tests.sh
2026-07-03 05:58:22 -04:00
12 changed files with 1 additions and 537 deletions
-17
View File
@@ -1,17 +0,0 @@
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/"
schedule:
interval: "daily"
reviewers:
- "qmk/collaborators"
- package-ecosystem: "pip" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
reviewers:
- "qmk/collaborators"
-41
View File
@@ -1,41 +0,0 @@
name: CLI Lint
permissions:
contents: read
on:
push:
branches:
- master
pull_request:
paths:
- 'qmk_cli/**'
- 'pyproject.toml'
- '.github/workflows/cli_lint.yml'
jobs:
lint:
runs-on: ubuntu-slim
steps:
- uses: actions/setup-python@v6
with:
python-version: '3.9'
- name: Activate virtualenv
shell: bash
run: |
python -m venv .ci_venv
source .ci_venv/bin/activate
echo PATH=$PATH >> $GITHUB_ENV
- uses: actions/checkout@v7
- name: Install dependencies
run: python -m pip install --group dev
- name: Run lint
run: ruff check --no-cache --output-format=github
- name: Run format
run: yapf -r --diff qmk_cli
-116
View File
@@ -1,116 +0,0 @@
name: CLI Setup
on:
push:
branches:
- master
pull_request:
jobs:
test_cli_base_container:
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_base_container
steps:
- uses: actions/checkout@v7
- name: Install dependencies
run: apt-get update && apt-get install -y python3-venv
- name: Run ci_tests
run: ./ci_tests -a
test_cli_linux_macos:
needs: test_cli_base_container
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v7
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Run ci_tests
run: ./ci_tests -a
test_cli_win:
needs: test_cli_base_container
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
- name: (MSYS2) Setup and install dependencies
uses: msys2/setup-msys2@v2
with:
update: true
install: git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-build mingw-w64-x86_64-python-pillow mingw-w64-x86_64-rust mingw-w64-x86_64-python-halo mingw-w64-x86_64-python-nh3 mingw-w64-x86_64-python-rpds-py
# Upgrade pip due to msys packaging + pypa/build/pull/736 issues
- name: (MSYS2) Install Python dependencies
shell: msys2 {0}
run: |
python3 -m pip install --break-system-packages --force-reinstall --upgrade pip
- name: Run ci_tests
shell: msys2 {0}
run: ./ci_tests -a
test_docker_container:
needs: test_cli_base_container
runs-on: ubuntu-latest
env:
TEST_TAG: qmkfm/qmk_cli:test
steps:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.9'
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- uses: actions/checkout@v7
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
pip install setuptools wheel
pip install --group dev
- name: Build Python
run: |
python3 -m build
- name: Build Test Container
uses: docker/build-push-action@v7
with:
context: .
load: true
tags: ${{ env.TEST_TAG }}
- name: Test
run: |
docker run --rm -v ${{ github.workspace }}:/qmk_cli -w /qmk_cli ${{ env.TEST_TAG }} /qmk_cli/ci_tests -a
- name: Build All Containers
uses: docker/build-push-action@v7
with:
context: .
target: full
platforms: linux/amd64,linux/arm64
-71
View File
@@ -1,71 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '22 18 * * 0'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v7
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v4
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
-74
View File
@@ -1,74 +0,0 @@
name: Rebuild Docker Image
on:
workflow_dispatch:
jobs:
redeploy:
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.9'
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Get Previous tag
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v2"
- name: Download previous artifact
run: |
pip download -d "${GITHUB_WORKSPACE}/dist" qmk=="${{ steps.previoustag.outputs.tag }}"
- name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and Push slim to Docker Hub
uses: docker/build-push-action@v7
with:
context: .
push: true
target: slim
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/qmk/qmk_cli:slim
qmkfm/qmk_cli:slim
ghcr.io/qmk/qmk_cli:${{ steps.previoustag.outputs.tag }}-slim
qmkfm/qmk_cli:${{ steps.previoustag.outputs.tag }}-slim
- name: Build and Push full to Docker Hub
uses: docker/build-push-action@v7
with:
context: .
push: true
target: full
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/qmk/qmk_cli:latest
qmkfm/qmk_cli:latest
ghcr.io/qmk/qmk_cli:${{ github.sha }}
qmkfm/qmk_cli:${{ github.sha }}
ghcr.io/qmk/qmk_cli:${{ steps.previoustag.outputs.tag }}
qmkfm/qmk_cli:${{ steps.previoustag.outputs.tag }}
-104
View File
@@ -1,104 +0,0 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
name: Upload Python Package
on:
workflow_dispatch:
inputs:
version_part:
description: 'Which part of the version to increment (patch, minor, major)'
required: true
default: 'patch'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.9'
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- uses: actions/checkout@v7
- name: Run ci_tests
run: ./ci_tests
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
pip install setuptools wheel
pip install --group dev
- name: Bump version
run: |
git config --local user.email "hello@qmk.fm"
git config --local user.name "QMK Bot"
bumpversion --dry-run --list ${{ github.event.inputs.version_part }} | grep new_version= | sed "s/new_version/NEW_CLI_VERSION/" >> "$GITHUB_ENV"
bumpversion ${{ github.event.inputs.version_part }}
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: master
tags: true
- name: Build and publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_APITOKEN }}
run: |
python3 -m build
twine upload dist/*
- name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and Push slim to Docker Hub
uses: docker/build-push-action@v7
with:
context: .
push: true
target: slim
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/qmk/qmk_cli:slim
qmkfm/qmk_cli:slim
ghcr.io/qmk/qmk_cli:${{ env.NEW_CLI_VERSION }}-slim
qmkfm/qmk_cli:${{ env.NEW_CLI_VERSION }}-slim
- name: Build and Push full to Docker Hub
uses: docker/build-push-action@v7
with:
context: .
push: true
target: full
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/qmk/qmk_cli:latest
qmkfm/qmk_cli:latest
ghcr.io/qmk/qmk_cli:${{ github.sha }}
qmkfm/qmk_cli:${{ github.sha }}
ghcr.io/qmk/qmk_cli:${{ env.NEW_CLI_VERSION }}
qmkfm/qmk_cli:${{ env.NEW_CLI_VERSION }}
+1
View File
@@ -24,6 +24,7 @@ wheels/
.installed.cfg
*.egg
MANIFEST
*.lock
# PyInstaller
# Usually these files are written by a python script from a template
-46
View File
@@ -1,46 +0,0 @@
FROM ghcr.io/qmk/qmk_base_container:latest AS builder
# Copy package in
ADD dist /tmp/dist
# Install QMK CLI via bootstrap script
RUN mkdir -p /opt/uv/bin \
&& export UV_PYTHON_INSTALL_DIR=/opt/uv/bin \
&& /bin/bash -c "curl -fsSL https://install.qmk.fm | sh -s -- --confirm --uv-install-dir=/usr/local/bin --uv-tool-dir=/opt/uv/tools --qmk-distrib-dir=/opt/qmk"
# Do the equivalent of entering the virtual environment
ENV PATH=/opt/qmk/bin:/opt/uv/tools/qmk/bin:/usr/local/bin:$PATH \
VIRTUAL_ENV=/opt/uv/tools/qmk
# Install python packages
RUN python3 -m pip uninstall -y qmk || true
RUN python3 -m pip install --upgrade pip setuptools wheel nose2 && \
python3 -m pip install /tmp/dist/qmk-*.whl
# Allow the uv-installed python to be usable by others
RUN chmod -R go=u,go-w /opt/uv /opt/qmk
# 2nd stage so we don't have /tmp/dist in the final image
FROM ghcr.io/qmk/qmk_base_container:latest AS slim
COPY --from=builder /opt/uv /opt/uv
# Do the equivalent of entering the virtual environment
ENV PATH=/opt/uv/tools/qmk/bin:$PATH \
VIRTUAL_ENV=/opt/uv/tools/qmk \
QMK_HOME=/qmk_firmware \
QMK_USERSPACE=/qmk_userspace
# 2nd stage so we don't have /tmp/dist in the final image
FROM ghcr.io/qmk/qmk_base_container:latest AS full
COPY --from=builder /opt/uv /opt/uv
COPY --from=builder /opt/qmk /opt/qmk
# Do the equivalent of entering the virtual environment
ENV PATH=/opt/qmk/bin:/opt/uv/tools/qmk/bin:$PATH \
VIRTUAL_ENV=/opt/uv/tools/qmk \
QMK_DISTRIB_DIR=/opt/qmk \
QMK_HOME=/qmk_firmware \
QMK_USERSPACE=/qmk_userspace
-63
View File
@@ -1,63 +0,0 @@
#!/usr/bin/env bash
set -e
#set -x
ADVANCED=false
TMPDIR=$(mktemp -d)
QMK_HOME="$TMPDIR/qmk_firmware"
export QMK_HOME
for arg in $@; do
if [ "$arg" = "-a" ]; then
ADVANCED=true
fi
done
if [ $ADVANCED = true ]; then
echo "*** Running in advanced mode with tmp files in $TMPDIR"
else
echo "*** Running in basic mode with tmp files in $TMPDIR"
fi
# Setup our virtualenv
if [ -e .ci_venv ]; then
rm -rf .ci_venv
fi
# Avoid issues with building pillow as we install mingw-w64-x86_64-python-pillow
if [[ "$(uname -s)" =~ ^MINGW64_NT.* ]]; then
CI_VENV_ARGS="--system-site-packages"
fi
python3 -m venv $CI_VENV_ARGS .ci_venv
source .ci_venv/bin/activate
# Install dependencies
python3 -m pip install -U pip wheel
python3 -m pip install .
# Ensure that qmk works
echo "*** Testing 'qmk clone -h'"
qmk clone -h
#echo "*** Testing 'qmk config -a'" # Test disabled as `milc` at least 1.6.8+ returns False and thus non-zero exit code
#qmk config -a
echo "*** Testing 'qmk setup -n'"
qmk setup -n
echo
echo "*** Basic tests completed successfully!"
# Run advanced test if requested
if [ $ADVANCED = true ]; then
echo
echo "*** Testing 'qmk setup -y'"
qmk setup -y
echo
echo "*** Advanced tests completed successfully!"
fi
# Cleanup
deactivate
rm -rf .ci_venv $TMPDIR
View File
-2
View File
@@ -41,8 +41,6 @@ def is_qmk_firmware(qmk_firmware):
paths = [
qmk_firmware,
qmk_firmware / 'quantum',
qmk_firmware / 'requirements.txt',
qmk_firmware / 'requirements-dev.txt',
qmk_firmware / 'lib/python/qmk/cli/__init__.py',
]
-3
View File
@@ -1,3 +0,0 @@
--index-url https://pypi.python.org/simple/
-e .