Compare commits
7 Commits
0.3.0
...
debian_package
| Author | SHA1 | Date | |
|---|---|---|---|
| 69de9f19e6 | |||
| dfc3ae5765 | |||
| 628615b3a9 | |||
| 5990fdddce | |||
| 9559d406f5 | |||
| fb1993ab04 | |||
| d7c20a56a2 |
@@ -13,33 +13,67 @@ on:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
|
||||
# Environment Setup
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
with:
|
||||
python-version: '3.7'
|
||||
|
||||
- name: Run ci_tests
|
||||
run: ./ci_tests
|
||||
- name: Install dependencies
|
||||
|
||||
- name: Install system dependencies
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install devscripts equivs sphinx-common sphinx-rtd-theme-common # dh-virtualenv deps
|
||||
apt-get install debhelper dh-python python3-all # stdeb deps
|
||||
apt-get install dpkg-sig # signing deps
|
||||
|
||||
- name: Install dh-virtualenv
|
||||
run: |
|
||||
git clone https://github.com/spotify/dh-virtualenv.git
|
||||
cd dh-virtualenv
|
||||
mk-build-deps -ri
|
||||
dpkg-buildpackage -us -uc -b
|
||||
cd ..
|
||||
dpkg -i dh-virtualenv_*.deb
|
||||
|
||||
- name: Install GPG secret key
|
||||
run: |
|
||||
echo -e "${{ secrets.QMK_GPG_SECRET_KEY }}" | gpg --batch --import
|
||||
gpg --list-secret-keys --keyid-format LONG
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel
|
||||
pip install -r requirements-dev.txt
|
||||
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v1.10.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
||||
|
||||
# Build and upload new Python package
|
||||
- name: Bump version
|
||||
run: |
|
||||
git config --local user.email "hello@qmk.fm"
|
||||
git config --local user.name "QMK Bot"
|
||||
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: qmk
|
||||
@@ -47,14 +81,44 @@ jobs:
|
||||
run: |
|
||||
python setup.py sdist bdist_wheel
|
||||
twine upload dist/*
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v1.10.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
||||
|
||||
# Build and upload new Docker container
|
||||
- name: Build and Push to Docker Hub
|
||||
uses: docker/build-push-action@v2.6.1
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: qmkfm/qmk_cli:latest
|
||||
|
||||
# Build Debian package
|
||||
- name: Build debian package
|
||||
run: |
|
||||
python3 setup.py bdist_deb
|
||||
dpkg-sig -s builder -k F464DFD46C4DA3FD4D06234691B06358D2CAE8AE deb_dist/*.deb
|
||||
|
||||
# Create Debian repo
|
||||
- name: Build debian package repository
|
||||
run: |
|
||||
mkdir -p deb_repo/deb deb_repo/dsc
|
||||
cp gpg_pubkey.txt deb_repo
|
||||
cp deb_dist/*.deb deb_repo/deb
|
||||
cp deb_dist/*.dsc deb_dist/*.orig.tar.gz deb_dist/*.debian.tar.xz deb_repo/dsc
|
||||
cd deb_repo
|
||||
apt-ftparchive packages deb > Packages
|
||||
apt-ftparchive sources dsc > Sources
|
||||
gzip -k {Packages,Sources}
|
||||
apt-ftparchive release . > Release
|
||||
gpg --default-key F464DFD46C4DA3FD4D06234691B06358D2CAE8AE -abs -o Release.gpg Release
|
||||
gpg --default-key F464DFD46C4DA3FD4D06234691B06358D2CAE8AE --clearsign -o InRelease Release
|
||||
|
||||
# Upload the Debian repo to S3
|
||||
- name: Upload Debian Repo
|
||||
uses: jakejarvis/s3-sync-action@0.5.1
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks --delete
|
||||
env:
|
||||
AWS_S3_BUCKET: qmk-debian
|
||||
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: 'deb_repo'
|
||||
|
||||
@@ -106,3 +106,8 @@ venv.bak/
|
||||
|
||||
# QMK
|
||||
qmk_firmware
|
||||
|
||||
# Debian packages
|
||||
deb_dist
|
||||
deb_repo
|
||||
qmk-*.tar.gz
|
||||
|
||||
Vendored
+65
@@ -0,0 +1,65 @@
|
||||
# Atmel DFU
|
||||
### ATmega16U2
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess"
|
||||
### ATmega32U2
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess"
|
||||
### ATmega16U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess"
|
||||
### ATmega32U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess"
|
||||
### AT90USB64
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess"
|
||||
### AT90USB162
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", TAG+="uaccess"
|
||||
### AT90USB128
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess"
|
||||
|
||||
# Input Club
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess"
|
||||
|
||||
# STM32duino
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess"
|
||||
# STM32 DFU
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
|
||||
|
||||
# BootloadHID
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess"
|
||||
|
||||
# USBAspLoader
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess"
|
||||
|
||||
# ModemManager should ignore the following devices
|
||||
# Atmel SAM-BA (Massdrop)
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
|
||||
# Caterina (Pro Micro)
|
||||
## Spark Fun Electronics
|
||||
### Pro Micro 3V3/8MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### Pro Micro 5V/16MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### LilyPad 3V3/8MHz (and some Pro Micro clones)
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## Pololu Electronics
|
||||
### A-Star 32U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## Arduino SA
|
||||
### Leonardo
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### Micro
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## Adafruit Industries LLC
|
||||
### Feather 32U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### ItsyBitsy 32U4 3V3/8MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### ItsyBitsy 32U4 5V/16MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## dog hunter AG
|
||||
### Leonardo
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### Micro
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
|
||||
# hid_listen
|
||||
KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
Files: *
|
||||
Copyright: 2019-2021 Zach White, et al
|
||||
License: expat
|
||||
@@ -0,0 +1,52 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=t1lg
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
@@ -22,6 +22,7 @@ requests-toolbelt==0.9.1
|
||||
rfc3986==1.5.0
|
||||
SecretStorage==3.3.1
|
||||
six==1.16.0
|
||||
stdeb==0.10.0
|
||||
tqdm==4.62.0
|
||||
twine==3.4.2
|
||||
urllib3==1.26.6
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
[global]
|
||||
command-packages: stdeb.command
|
||||
|
||||
[bumpversion]
|
||||
current_version = 0.2.2
|
||||
commit = True
|
||||
@@ -12,6 +15,9 @@ message = New release: {current_version} → {new_version}
|
||||
[bdist_wheel]
|
||||
universal = 1
|
||||
|
||||
[entry_points]
|
||||
qmk = qmk_cli.script_qmk:main
|
||||
|
||||
[flake8]
|
||||
ignore = E501,E226
|
||||
|
||||
@@ -22,11 +28,24 @@ description-file = README.md
|
||||
dist-name = qmk
|
||||
license_file = LICENSE
|
||||
module = qmk_cli
|
||||
home-page = https://github.com/qmk/qmk_cli
|
||||
home-page = https://qmk.fm/
|
||||
requires-python = >=3.7
|
||||
|
||||
[entry_points]
|
||||
qmk = qmk_cli.script_qmk:main
|
||||
[sdist_dsc]
|
||||
# Configuration for the Debian package
|
||||
with-python2: False
|
||||
with-python3: True
|
||||
with-dh-virtualenv: True
|
||||
sign-results: True
|
||||
compat: 10
|
||||
suite3: stable
|
||||
package3: qmk
|
||||
maintainer: QMK Firmware (Official QMK GPG Signing Key) <hello@qmk.fm>
|
||||
section: devel
|
||||
depends3: build-essential, clang-format, diffutils, gcc, git, unzip, wget, zip, python3-pip, binutils-avr, gcc-avr, avr-libc, binutils-arm-none-eabi, gcc-arm-none-eabi, libnewlib-arm-none-eabi, avrdude, dfu-programmer, dfu-util, teensy-loader-cli, libhidapi-hidraw0, libusb-dev
|
||||
depends: build-essential, clang-format, diffutils, gcc, git, unzip, wget, zip, python3-pip, binutils-avr, gcc-avr, avr-libc, binutils-arm-none-eabi, gcc-arm-none-eabi, libnewlib-arm-none-eabi, avrdude, dfu-programmer, dfu-util, teensy-loader-cli, libhidapi-hidraw0, libusb-dev
|
||||
x-python3-version: >= 3.7
|
||||
udev-rules: debian/50-qmk.rules
|
||||
|
||||
[yapf]
|
||||
align_closing_bracket_with_visual_indent = True
|
||||
|
||||
Reference in New Issue
Block a user