Skip to content

Repack release from tzarc/qmk_toolchains #2

Repack release from tzarc/qmk_toolchains

Repack release from tzarc/qmk_toolchains #2

---
name: Repack release from tzarc/qmk_toolchains
on:
workflow_dispatch:
inputs:
tzarc_release_tag:
description: 'Tag of the tzarc/qmk_toolchains release to repack'
required: true
default: 'latest'
qmk_release_tag:
description: 'Tag of the QMK release to publish as'
required: true
default: 'latest'
jobs:
download_artifacts:
name: Download artifacts
runs-on: ubuntu-latest
steps:
- name: Prerequisites
run: |
sudo apt-get update
sudo apt-get install -y jq curl
- name: Download tzarc/qmk_toolchains release
run: |
curl -fsSL https://api.github.com/repos/tzarc/qmk_toolchains/releases/tags/${{ inputs.tzarc_release_tag }} > release.json
jq -r '.assets[] | select(.name | contains("qmk_toolchain")) | .browser_download_url' release.json > toolchain_urls.txt
for arch in linuxARM64 linuxX64 macosARM64 macosX64 windowsX64; do
for url in $(grep $arch toolchain_urls.txt); do
echo Downloading ${url}...
curl -fsSLO $url
done
mkdir qmk_toolchains_${arch}
for file in $(ls qmk_toolchain*host_${arch}*.tar.xz); do
echo Extracting ${file}...
tar xf $file -C qmk_toolchains_${arch} --strip-components=1
done
echo Determining version of gcc...
eval "$(./qmk_toolchains_${arch}/bin/avr-ct-ng.config | grep -E '^CT_GCC_VERSION=')"
echo Found version ${CT_GCC_VERSION}.
echo Packaging qmk_toolchains-gcc${CT_GCC_VERSION}-host_${arch}.tar...
tar cf qmk_toolchains-gcc${CT_GCC_VERSION}-host_${arch}.tar qmk_toolchains_${arch}
echo Compressing qmk_toolchains-gcc${CT_GCC_VERSION}-host_${arch}.tar.xz...
xz -T 0 -z -9 -e qmk_toolchains-gcc${CT_GCC_VERSION}-host_${arch}.tar
echo Showing file metadata of qmk_toolchains-gcc${CT_GCC_VERSION}-host_${arch}.tar.xz...
stat qmk_toolchains-gcc${CT_GCC_VERSION}-host_${arch}.tar.xz
done