mirror of
https://github.com/RfidResearchGroup/ChameleonUltra.git
synced 2026-03-30 17:05:46 +00:00
Changes made: - CI properly supports being ran on PRs and shouldn't fail anymore on the RRG repo; - The nonsense of unzipping archives during release creation isn't needed anymore because now there's an artifact that holds all the files (both zip and others) that should be included in a release; - Softdevice and Application verification were re-enabled (as per @doegox suggestion); - Softdevice is now bundled in `-firmware` artifact; - `dev` release tag is now updated ad every push to main; - On PRs a comment linking to artifact is now added by CI after success, artifact links are done with nightly.link so that they also fork for unauthenticated users; There are some quirks: - on_pr runs on pull_request_target because it needs write access to packages, but pull_request_target implies that GITHUB_SHA is set to the base repo HEAD commit, so the whole `checkout-sha` thing is needed. This also implies that if one of the workflow files are changed in a PR the changed versions won't be ran against that same PR. - Client building per OS isn't yet implemented but all the necessary scaffolding is there. At the moment the per-OS clients are just a zip file containing all the client source. Examples: - PR comment: https://github.com/augustozanellato/ChameleonUltra/pull/14#issuecomment-1688737709 - `dev` release: https://github.com/augustozanellato/ChameleonUltra/releases/tag/dev
26 lines
1.1 KiB
Docker
26 lines
1.1 KiB
Docker
FROM ubuntu:22.04
|
|
|
|
ARG ARM_TOOLCHAIN_VERSION=12.2.rel1
|
|
ARG NRF_CLT_URL=https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-command-line-tools/sw/versions-10-x-x/10-22-1/nrf-command-line-tools_10.22.1_amd64.deb
|
|
|
|
RUN set -xe; \
|
|
DEBIAN_FRONTEND=noninteractive; \
|
|
apt update -q; \
|
|
apt install -qy --no-install-recommends ca-certificates curl xz-utils make git zip; \
|
|
git config --global --add safe.directory /workdir; \
|
|
curl -sLo /usr/bin/nrfutil https://developer.nordicsemi.com/.pc-tools/nrfutil/x64-linux/nrfutil; \
|
|
curl -sLo /tmp/nrf-clt.deb $NRF_CLT_URL; \
|
|
apt install -qfy /tmp/nrf-clt.deb; \
|
|
rm /tmp/nrf-clt.deb; \
|
|
chmod 755 /usr/bin/nrfutil; \
|
|
nrfutil install device nrf5sdk-tools; \
|
|
curl -sL https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/$ARM_TOOLCHAIN_VERSION/binrel/arm-gnu-toolchain-$ARM_TOOLCHAIN_VERSION-x86_64-arm-none-eabi.tar.xz | tar xJ -C /usr/local; \
|
|
apt clean -q; \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
ENV GNU_INSTALL_ROOT=/usr/local/arm-gnu-toolchain-$ARM_TOOLCHAIN_VERSION-x86_64-arm-none-eabi/bin/
|
|
ENV GNU_VERSION=$ARM_TOOLCHAIN_VERSION
|
|
|
|
WORKDIR /workdir
|