Peter Johanson
0793ce8183
feat: Use skopeo copy
to create multi-arch tags.
...
* Avoid plain `docker tag` to create stable/versioned tags, as this
creates single architecture image tags, instead of a new manifest list
* Use `skopeo copy` instead for this!
2022-10-27 00:19:17 -05:00
Peter Johanson
64526ce2de
feat: Update to new Node 18 LTS version.
2022-10-26 23:30:03 -05:00
Peter Johanson
15c1cac704
fix: Add git safe directory override.
2022-10-25 22:57:02 -05:00
Peter Johanson
6c08730b47
refactor: Bump to NodeJS v16.x
2022-04-16 07:40:07 -04:00
Peter Johanson
e21ed8231a
fix: Only push containers if docker login success.
2022-04-16 00:33:45 -04:00
Peter Johanson
d69745c8be
feat: Add ability to update docker stable tag.
...
* Addd workflow steps to handle `foo-bar-stable` tags to update
docker `stable` tag to point to `foo-bar`.
2022-03-31 14:06:23 -04:00
Peter Johanson
86a7d2fd65
feat: Build for both x86_64 and aarch64 platforms.
2022-02-22 01:15:50 -05:00
Peter Johanson
edb0828240
feat: ubuntu:focal-20220113 base image.
2022-02-22 01:15:50 -05:00
Peter Johanson
c94dce1726
feat: Zephyr 3.0.0
...
See: https://docs.zephyrproject.org/3.0.0/getting_started/index.html
2022-02-22 01:15:50 -05:00
Peter Johanson
c5ac6433b0
feat: Zephyr SDK 0.13.2
...
See: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.13.2
2022-02-22 01:15:50 -05:00
innovaker
25972e7aad
refactor(build): remove bzip2
...
This is bundled with Ubuntu.
PR: https://github.com/zmkfirmware/zmk-docker/pull/88
2021-10-26 23:49:10 -04:00
Peter Johanson
7b0494a339
fix: Increase docs timeout to ensure tests pass.
2021-10-26 23:47:03 -04:00
dependabot[bot]
b1bebd0b18
build(deps): bump ubuntu from focal-20210416 to focal-20210609
...
Bumps ubuntu from focal-20210416 to focal-20210609.
---
updated-dependencies:
- dependency-name: ubuntu
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-06-19 15:36:58 +01:00
innovaker
5d9cfa5ab7
feat(dev-generic): add tio
...
For interfacing with serial i/o.
PR: zmkfirmware/zmk-docker#81
2021-06-17 20:32:18 +01:00
innovaker
d1f45823e4
feat: add test for arm-zephyr-eabi-gdb
...
PR: zmkfirmware/zmk-docker#83
2021-06-17 19:48:03 +01:00
innovaker
edbe962492
feat(dev-generic): add ENV ZEPHYR_SDK_VERSION
...
Lets scripts (outside of the Zephyr bubble) locate the SDK.
PR: zmkfirmware/zmk-docker#82
2021-06-16 19:17:00 +01:00
innovaker
4be9504a82
feat: remove buster-backports
...
This is no longer necessary.
Reverts: 4f80f973e6
Reverts: 5de32f5d18
PR: zmkfirmware/zmk-docker#80
2021-06-16 19:14:51 +01:00
innovaker
f62f86258a
feat: change parent (base) image to ubuntu
...
Aligns with Zephyr and avoids Debian compatibility issues (cmake 3.15, libcurl4, python 3.8).
PR: zmkfirmware/zmk-docker#80
2021-06-16 19:14:51 +01:00
innovaker
af6c5091aa
feat: Zephyr 2.5.0
...
Based on:
https://docs.zephyrproject.org/2.5.0/getting_started/index.html
https://docs.zephyrproject.org/2.5.0/getting_started/installation_linux.html#install-requirements-and-dependencies
2021-06-14 20:56:05 +01:00
innovaker
540a2cee25
feat: Zephyr SDK 0.12.4
...
See: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.12.4
PR: zmkfirmware/zmk-docker#77
2021-06-14 14:42:50 +01:00
innovaker
b1904e7b15
feat: Zephyr SDK 0.12.3
...
See: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.12.3
PR: zmkfirmware/zmk-docker#77
2021-06-14 14:42:50 +01:00
innovaker
e32bd8599d
feat: Zephyr SDK 0.12.2
...
See: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.12.2
PR: zmkfirmware/zmk-docker#77
2021-06-14 14:42:50 +01:00
innovaker
4627c7e7c5
feat: Zephyr SDK 0.12.1
...
See: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.12.1
PR: zmkfirmware/zmk-docker#77
2021-06-14 14:42:50 +01:00
innovaker
b8341e185a
feat: Zephyr SDK 0.12.0
...
See: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.12.0
PR: zmkfirmware/zmk-docker#77
2021-06-14 14:42:50 +01:00
innovaker
cdbb6eb708
feat: disable fail-fast
for candidates jobs
...
Prevents a job failure from halting the other jobs.
PR: zmkfirmware/zmk-docker#45
2021-06-14 14:28:19 +01:00
innovaker
919ad96cc5
feat: add remaining architectures
...
Recent design improvements permit building all of Zephyr's supported architectures simultaneously. So why not?
PR: zmkfirmware/zmk-docker#58
2021-06-14 11:55:53 +01:00
innovaker
60596b949a
feat: remove max-parallel for candidates jobs
...
`max-parallel: 1` is no longer necessary.
See: 27b9ac19f3
PR: zmkfirmware/zmk-docker#57
2021-06-14 11:35:25 +01:00
innovaker
eb804342e2
fix: add guard conditions for west build tests
...
The RAM report, ROM report and clean steps depend on the success of the board/shield build.
PR: zmkfirmware/zmk-docker#51
2021-06-14 10:38:14 +01:00
innovaker
df85393001
feat: add ignore-actions-cache
secret
...
By default, a workflow re-run reuses the dev-generic GitHub Actions cache created by the previous attempt. The `ignore-actions-cache` secret acts as a flag for ignoring the former cache.
PR: zmkfirmware/zmk-docker#76
2021-06-14 10:13:50 +01:00
innovaker
67075dfb7b
refactor: always rebuild dev-generic
...
The `dev-generic` job was originally optimized to only build once per workflow run. Subsequent re-runs skipped the build steps. This unfortunately made it difficult to analyze dev-generic cache problems after merging. This change removes this optimization.
The cache key has a timestamp suffix so that the cache is always built anew. This provides more integrity, traceability and flexibility at the cost of increased cache turnover across the repository.
PR: zmkfirmware/zmk-docker#74
2021-06-14 10:01:26 +01:00
innovaker
406388461c
refactor: move timestamp into dedicated job
...
Provides a unique timestamp across all jobs.
PR: zmkfirmware/zmk-docker#74
2021-06-14 10:01:26 +01:00
innovaker
f0b02aecfd
refactor: change zmk-dev-generic-cache
into zmk-dev-generic
image
...
Makes it easier to inspect the layers/image.
PR: zmkfirmware/zmk-docker#73
2021-06-13 15:17:04 +01:00
innovaker
413a53ae13
feat: add no-cache secret
...
Acts as a flag to force the workflow to ignore the cache.
2021-06-13 14:01:01 +01:00
innovaker
434bd09f6e
feat(dev): add socat
...
Required for piping serial over IP.
PR: zmkfirmware/zmk-docker#55
2021-06-13 10:30:53 +01:00
innovaker
fe276be4a9
feat(dev): add gdb
...
Required for local or remote debugging.
Closes : zmkfirmware/zmk-docker#7
PR: zmkfirmware/zmk-docker#54
2021-06-12 20:21:04 +01:00
innovaker
e656baa7da
feat(dev): set PAGER=less
...
Requested by @mcrosson.
Closes : zmkfirmware/zmk-docker#1
PR: zmkfirmware/zmk-docker#52
2021-06-12 20:20:00 +01:00
innovaker
a01e40a640
feat(dev): add less
...
Requested by @mcrosson.
See: zmkfirmware/zmk-docker#1
PR: zmkfirmware/zmk-docker#52
2021-06-12 20:20:00 +01:00
innovaker
455347f20a
feat: add python3 --version
to tests
...
Makes it easy to check the `python` version against the Zephyr documentation.
PR: #72
2021-06-12 19:26:42 +01:00
innovaker
b5481baf02
refactor(common): move cmake --version
from Dockerfile to tests
...
Makes it easier to check the `cmake` version against the Zephyr documentation, especially when the layer is already cached.
PR: #71
2021-06-12 19:23:29 +01:00
innovaker
4404d011c4
refactor(dev-generic): remove node --version
from Dockerfile
...
This line in the Dockerfile has been superseded by the tests.
See: 70e225f229
PR: #70
2021-06-12 19:12:38 +01:00
innovaker
bc822a193a
feat: rewrite release system to support multiple images per commit
...
A critical limitation of the first design was the assumption that there would only be one Docker build per commit. As such, software packages were often only refreshed when Zephyr was upgraded.
This new design opens the door to better CI practices. It allows regular rebuilds of the Docker images irrespective of version control. This is critical for incorporating the latest security fixes and bug patches as soon as possible.
Maintainers are still required to trigger stable releases (via tags), but this can be revisited in the future if further automation is necessary.
PR: #50
2021-06-12 18:56:05 +01:00
innovaker
69df2553ed
refactor: replace latest tag
...
`latest` can be ambiguous and misunderstood.
See: #62
PR: #67
2021-06-12 16:35:28 +01:00
innovaker
56e01d70cb
feat: schedule nightly rebuild at 02:00 UTC
...
Rebuilds the default branch from scratch every night. This ensures that the latest security patches are available for testers.
PR: #66
2021-06-12 16:06:57 +01:00
innovaker
2a830a7633
feat: add no-cache support
...
`no-cache` rebuilds everything from scratch. This is critical for integrating security patches and bug fixes as soon as possible.
PR: #65
2021-06-12 14:26:39 +01:00
innovaker
93b6eedd33
docs: add examples to tags
...
Illustrates the form of the tags.
PR: #68
2021-06-12 11:54:29 +01:00
innovaker
88620c678e
feat: add cache-from major-minor-branch
...
Lets any branch utilize its corresponding major-minor-branch cache.
See: #62
PR: #68
2021-06-12 11:54:29 +01:00
innovaker
b551a568f5
feat: add cache-from upstream
...
Provides a quick start for new forks.
PR: #64
2021-06-10 10:42:27 +01:00
innovaker
f531452a17
feat: add cache-from dev-generic (GitHub Actions cache)
...
Pre-builds the dev-generic stage and provides it to all subsequent jobs. This improves the integrity between the jobs within a particular workflow run, especially in the absence of registry credentials. It also reduces the workflow run duration when building multiple architectures in parallel.
PR: #61
2021-06-09 19:59:33 +01:00
innovaker
fa56205570
feat: add cache-from base
...
Lets PRs utilize their base (branch) cache.
PR: #63
2021-06-09 14:23:47 +01:00
innovaker
27b9ac19f3
refactor: combine build
and dev
jobs
...
Bringing `build` and `dev` into the same job lets `dev` use `build` as a cache-from source without requiring registry credentials.
PR: #60
2021-06-08 10:15:40 -04:00