Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from linuxkit:master #241

Open
wants to merge 596 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
596 commits
Select commit Hold shift + click to select a range
1957c8d
Merge pull request #3969 from yzewei/master
deitch Jan 9, 2024
b0d8897
Merge pull request #3969 from yzewei/master
deitch Jan 9, 2024
a1baf07
remove extra package which only is available in later alpine
deitch Jan 25, 2024
ed7dacb
Merge pull request #3972 from deitch/dockerfile-bcc-extra-package
deitch Jan 25, 2024
3d20dfe
Update linuxkit/alpine
deitch Jan 25, 2024
35dbd15
tools/alpine: Update to latest
deitch Jan 25, 2024
22cc934
tools: Update to the latest linuxkit/alpine
deitch Jan 25, 2024
d6f9f61
Update use of tools to latest
deitch Jan 25, 2024
846e4c9
tests: Update packages to the latest linuxkit/alpine
deitch Jan 25, 2024
13926f6
Update use of test packages to latest
deitch Jan 25, 2024
96df8f8
pkgs: Update packages to the latest linuxkit/alpine
deitch Jan 25, 2024
1b3e13c
Update package tags
deitch Jan 25, 2024
7a0ae25
update alpine base comments
deitch Jan 26, 2024
ab0473d
revert xfs changes because of kernel version sensitivity
deitch Jan 26, 2024
7271619
Merge pull request #3973 from deitch/alpine-319
deitch Jan 26, 2024
64ce82b
tools/alpine: Update to latest
deitch Jan 26, 2024
bc1a7d6
tools: Update to the latest linuxkit/alpine
deitch Jan 26, 2024
7defa56
Update use of tools to latest
deitch Jan 26, 2024
c6be190
tests: Update packages to the latest linuxkit/alpine
deitch Jan 26, 2024
791b463
Update use of test packages to latest
deitch Jan 26, 2024
73d160e
pkgs: Update packages to the latest linuxkit/alpine
deitch Jan 26, 2024
7fa10ce
Update package tags
deitch Jan 26, 2024
44403f6
Merge pull request #3974 from deitch/llvm7-gtest-pkg
deitch Jan 27, 2024
55fe176
Update linuxkit/alpine
deitch Jan 27, 2024
8638203
tools/alpine: Update to latest
deitch Jan 27, 2024
6db6bc8
tools: Update to the latest linuxkit/alpine
deitch Jan 27, 2024
79e91de
Update use of tools to latest
deitch Jan 27, 2024
41311cb
tests: Update packages to the latest linuxkit/alpine
deitch Jan 27, 2024
68308dc
Update use of test packages to latest
deitch Jan 27, 2024
cbe149e
pkgs: Update packages to the latest linuxkit/alpine
deitch Jan 27, 2024
6b5be65
Update package tags
deitch Jan 27, 2024
5954e93
revert xfs changes because it is kernel sensitive
deitch Jan 28, 2024
66509eb
Merge pull request #3975 from deitch/py3-pip
deitch Jan 28, 2024
6c4eac8
Update linuxkit/alpine
deitch Jan 28, 2024
09c85aa
tools/alpine: Update to latest
deitch Jan 28, 2024
a538a1e
tools: Update to the latest linuxkit/alpine
deitch Jan 28, 2024
9cf5d80
Update use of tools to latest
deitch Jan 28, 2024
1bd9e9b
tests: Update packages to the latest linuxkit/alpine
deitch Jan 28, 2024
8a23691
Update use of test packages to latest
deitch Jan 28, 2024
b71ac70
pkgs: Update packages to the latest linuxkit/alpine
deitch Jan 28, 2024
45d7ab8
Update package tags
deitch Jan 28, 2024
e4ba559
Merge pull request #3976 from deitch/llvm17-gtest-again
deitch Jan 28, 2024
59bae22
Update linuxkit/alpine
deitch Jan 28, 2024
1676b1a
tools/alpine: Update to latest
deitch Jan 28, 2024
d9027d5
tools: Update to the latest linuxkit/alpine
deitch Jan 28, 2024
449ec61
Update use of tools to latest
deitch Jan 28, 2024
f8f690f
tests: Update packages to the latest linuxkit/alpine
deitch Jan 28, 2024
b2a3bad
Update use of test packages to latest
deitch Jan 28, 2024
d907c67
pkgs: Update packages to the latest linuxkit/alpine
deitch Jan 28, 2024
0d15d8d
Update package tags
deitch Jan 28, 2024
3607a34
Merge pull request #3977 from deitch/python3-dev
deitch Jan 28, 2024
7276939
Update linuxkit/alpine
deitch Jan 28, 2024
8bd896a
tools/alpine: Update to latest
deitch Jan 28, 2024
7977310
tools: Update to the latest linuxkit/alpine
deitch Jan 28, 2024
9279979
Update use of tools to latest
deitch Jan 28, 2024
eff7781
tests: Update packages to the latest linuxkit/alpine
deitch Jan 28, 2024
909e5c9
Update use of test packages to latest
deitch Jan 28, 2024
d018c42
pkgs: Update packages to the latest linuxkit/alpine
deitch Jan 28, 2024
3a6398e
Update package tags
deitch Jan 28, 2024
605f09e
Merge pull request #3978 from deitch/zstd-static
deitch Jan 28, 2024
421b48d
bump alpine base for kernel, regenerate configs
deitch Jan 23, 2024
752a35b
restructure kernel/Makefile
deitch Jan 24, 2024
316886c
add 6.6.13 to tests
deitch Jan 24, 2024
4b3eb1f
kernel 6.6.x config
deitch Jan 24, 2024
480ff67
update bcc version
deitch Jan 25, 2024
b405b39
bump xfs to use kernel 6.6 and latest format
deitch Jan 26, 2024
e5fbf8a
update kernel perf
deitch Jan 28, 2024
fa4af07
update deps of check-kernel-config
deitch Jan 30, 2024
6c29f58
Merge pull request #3971 from deitch/update-alpine-base
deitch Jan 30, 2024
c388177
updated kernel documents
deitch Jan 31, 2024
bafbf0a
Merge pull request #3980 from deitch/kernel-document
deitch Jan 31, 2024
4e07007
kernels Makefile support custom builders and archs
deitch Feb 1, 2024
23c1b57
Merge pull request #3981 from deitch/kernel-cross-build
deitch Feb 1, 2024
c2b9970
runc: bump to newest version
christoph-zededa Feb 2, 2024
819d83b
runc: bump to newest version
christoph-zededa Feb 5, 2024
657b338
Merge pull request #3982 from christoph-zededa/bump_runc_cve-2024-21626
deitch Feb 5, 2024
bd582fa
use proper null in script and not mispelled nul
deitch Feb 18, 2024
0895d14
Merge pull request #3984 from deitch/fix-dev-nul
deitch Feb 18, 2024
b12a7d5
Rebased and re-implemented USBIP configs
beriberikix Feb 15, 2024
4cdfd5f
Merge pull request #3983 from beriberikix/usbip
deitch Feb 18, 2024
f04e28d
enable import of images from tar files
deitch Feb 19, 2024
2cff568
Merge pull request #3985 from deitch/cache-load
deitch Feb 20, 2024
0c31697
add support for specifying dockerfile in build process
deitch Feb 21, 2024
83a8c5c
add support for tag templates
deitch Feb 21, 2024
72be49c
Merge pull request #3986 from deitch/dockerfile-in-build-yml
deitch Feb 21, 2024
56543ed
add support for build-arg files
deitch Feb 22, 2024
36f379a
Merge pull request #3987 from deitch/build-arg-file
deitch Feb 22, 2024
06a05ba
template in yaml file
deitch Feb 23, 2024
1f57ac5
fix yaml in test case with duplicate key
deitch Feb 25, 2024
86d11e2
Merge pull request #3988 from deitch/yaml-template
deitch Feb 25, 2024
bdc15ae
Enable VRF in kernel configurations
Dec 11, 2023
5110210
Merge pull request #3966 from mestery/mestery/issue3965
deitch Feb 26, 2024
cd12a86
restructure kernel builds into directories
deitch Feb 27, 2024
8b9b3f6
Merge pull request #3989 from deitch/kernel-build-dirs
deitch Feb 27, 2024
54d9db8
add support for pushing and pulling images
deitch Feb 28, 2024
41cd91e
Merge pull request #3991 from deitch/cache-pull-push
deitch Feb 28, 2024
1766f61
option to push local image to somewhere else
deitch Feb 28, 2024
8980395
Merge pull request #3992 from deitch/cache-tag
deitch Feb 28, 2024
354c1c3
option to control progress in pkg build
deitch Feb 29, 2024
c72f700
Merge pull request #3994 from deitch/pkg-build-progress
deitch Feb 29, 2024
51a4c3b
push arch-specific tags optional
deitch Mar 1, 2024
58c36c9
Merge pull request #3995 from deitch/cache-push-options
deitch Mar 1, 2024
a5d5bb8
when reading build-args from file, always trim whitespace for key and…
deitch Mar 1, 2024
7e45f8e
Merge pull request #3997 from deitch/build-args-files-trim
deitch Mar 2, 2024
000b6f4
switch kernel builds to linuxkit pkg build for simplicity
deitch Feb 28, 2024
10e6d57
Merge pull request #3993 from deitch/kernel-build-with-linuxkit
deitch Mar 2, 2024
a40251b
in kernel build, have ARG in correct place to be usable
deitch Mar 3, 2024
de69789
Merge pull request #3998 from deitch/missing-builder-label-on-kernel
deitch Mar 3, 2024
3e7df6c
move kernel series status into series dir
deitch Mar 3, 2024
47bd13a
Merge pull request #3999 from deitch/move-kernel-version-to-directory
deitch Mar 3, 2024
b25b82c
kernel makefile target to replace tags using update-component-sha.sh
deitch Mar 3, 2024
62d04af
Merge pull request #4000 from deitch/kernel-ci
deitch Mar 3, 2024
d47a928
update kernel Makefile for targets for yamls
deitch Mar 3, 2024
2f81ee6
Merge pull request #4001 from deitch/kernel-makefile-all-yamls-update
deitch Mar 4, 2024
e297d98
kernel series-specific test cases reference with hash
deitch Mar 4, 2024
e381f9c
kernel generic test cases updated
deitch Mar 4, 2024
b94b3af
Merge pull request #4002 from deitch/kernel-tag-in-tests
deitch Mar 4, 2024
9163908
in kernel makefile tag update, ensure we only replace non-hashed semver
deitch Mar 4, 2024
600e12f
Merge pull request #4003 from deitch/fix-kernel-makefile-replace
deitch Mar 4, 2024
3f10329
add missing hashes for kernel version-specific test cases
deitch Mar 4, 2024
83efa26
Merge pull request #4004 from deitch/missing-kernel-hashes
deitch Mar 4, 2024
81f8a91
ensure kernel replacement matches middle of line too
deitch Mar 4, 2024
413f3f3
Merge pull request #4005 from deitch/kernel-makefile-regex
deitch Mar 4, 2024
0abb1ac
hash for kernel changed, updating in test cases
deitch Mar 4, 2024
470a928
Merge pull request #4006 from deitch/kernel-hash-updates
deitch Mar 4, 2024
3d0cd9d
properly handle sed for update-component-sha.sh
deitch Mar 4, 2024
533d582
update 6.6.x test hash versions
deitch Mar 4, 2024
17f5eca
Merge pull request #4007 from deitch/fix-update-component-too-broad-m…
deitch Mar 5, 2024
2389221
make kernel read/build and check part of CI
deitch Mar 5, 2024
60da9b9
Merge pull request #4008 from deitch/kernel-publish-ci
deitch Mar 5, 2024
71096c4
cache push only overrides remote if explicit
deitch Mar 5, 2024
70ae026
Merge pull request #4009 from deitch/cache-push-nopush-option
deitch Mar 5, 2024
58b7ae5
add pkg remote-tag option to tag descriptors remotely without pulling…
deitch Mar 6, 2024
67afa5d
Merge pull request #4010 from deitch/remote-tag-rename
deitch Mar 6, 2024
17ed893
kernel builder handle push properly
deitch Mar 6, 2024
3087e90
fix builder image tagging using new remote-tag option of linuxkit
deitch Mar 6, 2024
0d89422
Merge pull request #4011 from deitch/kernel-push-builder
deitch Mar 6, 2024
51696d2
remote-tag enable copying across repositories and registries
deitch Mar 6, 2024
b8b00e8
Merge pull request #4012 from deitch/remote-tag-with-copy
deitch Mar 6, 2024
4df07dd
add support for pkg release tags
deitch Mar 11, 2024
10bbf86
Merge pull request #4013 from deitch/pkg-release
deitch Mar 11, 2024
14f5433
fix pkg release action workflow
deitch Mar 11, 2024
55963aa
Merge pull request #4014 from deitch/fix-release-pkgs
deitch Mar 11, 2024
15730ea
ensure package release flow is picked up
deitch Mar 11, 2024
719ae00
Merge pull request #4015 from deitch/pkg-tag-workflow
deitch Mar 11, 2024
88ff3ac
fix pkg-release flow for building linuxkit
deitch Mar 11, 2024
7952421
Merge pull request #4016 from deitch/next-fix-releases
deitch Mar 11, 2024
c3b151e
missing pipe in package_release workflow
deitch Mar 11, 2024
1b1007a
Merge pull request #4017 from deitch/pkg-release-cmds
deitch Mar 11, 2024
4496612
util: allow pulling from local registry
christoph-zededa Mar 15, 2024
3ff5dac
Merge pull request #4018 from christoph-zededa/fix_pulling_from_local…
deitch Mar 17, 2024
6a7cea9
README.md: fix format parameter
christoph-zededa Mar 19, 2024
b7bb183
Merge pull request #4020 from christoph-zededa/fix_doc_build_iso-efi
deitch Mar 20, 2024
f2240fb
FIX disk parameter usage
Fabsolute Nov 25, 2023
de79880
Merge pull request #3960 from Fabsolute/fix-disk-parameter-for-virtua…
deitch Apr 12, 2024
6af6291
add tag to args passed for package builds
deitch Apr 16, 2024
9e18c92
Merge pull request #4023 from deitch/commit-tag-arg
deitch Apr 16, 2024
4d21200
fix kernel tools build.yml files to reflect correct dockerfiles
deitch Apr 16, 2024
47d02ec
Merge pull request #4024 from deitch/fix-kernel-tools-build
deitch Apr 17, 2024
1fe8cba
include image reference as source in every tar file header
deitch Apr 18, 2024
a610332
Merge pull request #4025 from deitch/tag-sources-in-tar
deitch Apr 18, 2024
632b406
add support for input-tar
deitch Apr 18, 2024
dd1ae90
Merge pull request #4026 from deitch/increment-tar-output
deitch Apr 19, 2024
dc12b9b
prevent using same file for input tar and output tar
deitch Apr 21, 2024
cea4c0d
Merge pull request #4027 from deitch/not-same-file
deitch Apr 21, 2024
4ce1364
chore: fix function name in comment
largemouth Apr 22, 2024
bc5d08d
Merge pull request #4028 from largemouth/master
deitch Apr 24, 2024
c836e54
use canonical ref when looking in cache
deitch Apr 24, 2024
04792e0
bump actions to v4 to avoid deprecation
deitch Apr 25, 2024
e6b0ae0
Merge pull request #4030 from deitch/canonicalize-pull
deitch Apr 25, 2024
8afecd5
Merge pull request #4031 from deitch/update-actions
deitch Apr 25, 2024
803747f
Make cgroups v2 the default:
jacobweinstock Apr 27, 2024
2fe19f7
Update dependencies
jacobweinstock Apr 27, 2024
38e62bb
Merge pull request #4033 from jacobweinstock/cgroupsv2-as-default
deitch Apr 28, 2024
2578ae2
explicitly use GITHUB_TOKEN for actions script
deitch Apr 28, 2024
d3257af
Merge pull request #4034 from deitch/token-for-actions
deitch Apr 28, 2024
c32c74b
github script v7
deitch Apr 28, 2024
e171750
Merge pull request #4035 from deitch/action-script-v7
deitch Apr 28, 2024
5299f94
use proper path for github-script properties
deitch Apr 28, 2024
b49e32a
Merge pull request #4036 from deitch/fix-action-script-v7
deitch Apr 28, 2024
379617c
move moby components that do not have runtime dependencies to own dir…
deitch May 7, 2024
6d37353
Merge pull request #4039 from deitch/split-moby
deitch May 7, 2024
f5dcefc
add cache export format OCI
deitch May 16, 2024
9e06024
Merge pull request #4040 from deitch/export-formats
deitch May 16, 2024
4c3d189
bump actions/setup-go to v5 and go-version to 1.22.3
deitch Jun 11, 2024
f48e442
Merge pull request #4044 from deitch/go-1.22
deitch Jun 11, 2024
7c46ac8
bump buildkit to latest v0.13.2 with deps
deitch Jun 11, 2024
977afa7
remove no longer necessary rand.Seed
deitch Jun 11, 2024
4f89f4f
Merge pull request #4043 from deitch/buildkit-bump
deitch Jun 11, 2024
5e42d05
Improve support for third-party registry images
jalaziz Jun 19, 2024
21e9f0f
add tests
jalaziz Jun 22, 2024
be7dfdd
Merge pull request #4046 from jalaziz/4045
deitch Jun 24, 2024
cda7577
ensured dumpFollow of logread includes 'follow' behaviour
danrzs Jul 3, 2024
3f80ca6
Merge pull request #4049 from danrzs/master
deitch Jul 3, 2024
8f6ea3c
switch Packet references to Equinix Metal
deitch Jul 5, 2024
ad4c97c
switch linuxkit from deprecated packngo to equinixmetal go-sdk
deitch Jul 5, 2024
c90f2ee
Merge pull request #4052 from deitch/packet-to-metal
deitch Jul 7, 2024
04dc904
cmd: allow more than one config yaml for build
christoph-zededa Jul 10, 2024
8d76ae2
Merge pull request #4054 from christoph-zededa/fix_build_command_args
deitch Jul 10, 2024
8bb9174
properly save linuxkit version
deitch Jul 11, 2024
bfac135
Merge pull request #4055 from deitch/include-semver-in-version
deitch Jul 11, 2024
7acc826
separate release builds of macOS CGO from others
deitch Jul 11, 2024
933445f
Merge pull request #4056 from deitch/handle-cross-compilation-macos
deitch Jul 11, 2024
e6ac960
make targets separated by OS
deitch Jul 11, 2024
e6ffc8a
Merge pull request #4057 from deitch/build-targets-all-not-macos
deitch Jul 11, 2024
6bbda93
update package versions and go version for pkg/init
deitch Jul 16, 2024
7b114bf
Merge pull request #4058 from deitch/init-security-alerts
deitch Jul 16, 2024
1fe9d0e
bump pkg/init containerd, runc and image-spec to fix CVEs
deitch Jul 16, 2024
5d940f4
Merge pull request #4059 from deitch/more-init-alerts
deitch Jul 16, 2024
4ad5595
bump docker deps in linuxkit binary
deitch Jul 16, 2024
53f848a
pkg/rngd bump x/sys version
deitch Jul 16, 2024
7ac157e
pkg/host-timesync-daemon bump x/sys version
deitch Jul 16, 2024
315a1db
pkg/extend bump x/sys version
deitch Jul 16, 2024
f13aee1
update rngd/extend/init usage in yml
deitch Jul 16, 2024
cd65ec3
Merge pull request #4060 from deitch/linuxkit-deps
deitch Jul 16, 2024
690a4ee
Merge pull request #4061 from deitch/multi-pkg-deps
deitch Jul 16, 2024
5d9f3e0
include example for debugging containerd
deitch Jul 17, 2024
c3c6dc7
Merge pull request #4062 from deitch/debug-containerd
deitch Jul 17, 2024
55e13c9
containerd to 1.7.20
deitch Jul 18, 2024
d68494b
Merge pull request #4063 from deitch/bump-containerd-1.7.20
deitch Jul 18, 2024
d665a97
containerd config.toml v2
deitch Jul 18, 2024
fa08581
Merge pull request #4064 from deitch/containerd-config-2
deitch Jul 19, 2024
b953d17
add support for volumes
deitch Jul 16, 2024
a5085fc
pkg/init support for volumes
deitch Jul 18, 2024
38a0cb6
test cases for volumes
deitch Jul 21, 2024
34304b1
Merge pull request #4065 from deitch/volumes
deitch Jul 21, 2024
51727db
support for pkg build ssh
deitch Jul 28, 2024
270fd1c
Merge pull request #4066 from deitch/ssh-support
deitch Jul 28, 2024
2af30c5
support cmdline-driven debugging mode for runc
deitch Aug 22, 2024
370bf51
Merge pull request #4067 from deitch/runc-debug-options
deitch Aug 22, 2024
b36cad0
when building read-only volumes, still use overlayfs
deitch Aug 22, 2024
745da8f
Merge pull request #4069 from deitch/fix-ro-volumes
deitch Aug 22, 2024
15c808c
more verbose runc messages
deitch Aug 22, 2024
5f09346
Merge pull request #4070 from deitch/verbose-runc
deitch Aug 22, 2024
cb8f36a
moby: check architecture for docker image
christoph-zededa Aug 27, 2024
5848a28
use only stdout/stderr or file for runc output
deitch Aug 28, 2024
6979859
Merge pull request #4073 from deitch/init-debug-no-control
deitch Aug 28, 2024
ba25e59
remove linuxefi grub EFI handover to normal linux loading
deitch Aug 29, 2024
1d6d5fa
Merge pull request #4074 from deitch/efi-kernel
deitch Aug 29, 2024
fa3207c
Merge pull request #4072 from christoph-zededa/docker_cache_consider_…
deitch Aug 29, 2024
2159aac
bump docker deps to v27.2.0
deitch Sep 8, 2024
d7a6bc8
Merge pull request #4077 from deitch/docker-bump
deitch Sep 8, 2024
da3be29
vendor: switch to moby/sys/capability
kolyshkin Oct 1, 2024
8556f02
Merge pull request #4082 from kolyshkin/moby-cap
deitch Oct 1, 2024
67e9e22
restructure logging
deitch Oct 1, 2024
5e3f7dd
Merge pull request #4083 from deitch/restructure-logging
deitch Oct 1, 2024
81f0c3e
internal restructure to use explicit platform instead of implicit arc…
deitch Oct 1, 2024
e4d4106
Merge pull request #4084 from deitch/cache-platform-instead-of-arch
deitch Oct 1, 2024
76f4802
additional volume support in building
deitch Sep 30, 2024
ad95c6f
Merge pull request #4085 from deitch/volume-image
deitch Oct 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
220 changes: 145 additions & 75 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions .github/workflows/package_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Release Tagged Packages

on:
create:

jobs:
release:
name: Release packages
if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/pkg-v')
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.3
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Ensure bin/ directory
run: mkdir -p bin
- name: Install linuxkit
run: |
go -C ./src/cmd/linuxkit build -o $(pwd)/bin/linuxkit
sudo mv bin/linuxkit /usr/local/bin/
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Publish Packages as Release
# this should not build anything, as they all should be built already
# however, it can fail if we push the tag before the merge-to-master build is complete, since that may publish
# so *always* wait for any merge-to-master to complete before publishing pkg-v* tags
run: |
RELEASE_TAG=${GITHUB_REF#refs/tags/pkg-}
echo "RELEASE_TAG=${RELEASE_TAG}"
[ -n "${RELEASE_TAG}" ] || { echo "Not a tag"; exit 1; }
make OPTIONS="--skip-platforms linux/s390x" -C pkg push PUSHOPTIONS="--nobuild --release ${RELEASE_TAG}"
74 changes: 74 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# publish changes that are merged to master
name: Packages Push
on:
workflow_run:
workflows: [LinuxKit CI]
types: [completed]
branches: [master, main]

jobs:
packages:
env:
linuxkit_file: linuxkit-amd64-linux
name: Publish Changed Packages
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Ensure bin/ directory
run: mkdir -p bin
- name: Download linuxkit
uses: actions/github-script@v7
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
var artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id }},
});
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "${{ env.linuxkit_file }}"
})[0];
var download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/bin/${{ env.linuxkit_file }}.zip', Buffer.from(download.data));
- name: unzip linuxkit
run: cd bin && unzip ${{ env.linuxkit_file }}.zip
- name: Symlink Linuxkit
run: |
chmod ugo+x bin/${{ env.linuxkit_file }}
sudo ln -s $(pwd)/bin/${{ env.linuxkit_file }} /usr/local/bin/linuxkit
/usr/local/bin/linuxkit version
- name: Restore Package Cache
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
restore-keys: |
${{ runner.os }}-linuxkit-
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Publish Packages
# this should only push changed ones:
# - unchanged: already in the registry
# - changed: already built and cached, so only will push
# Skip s390x as emulation is unreliable
run: |
make OPTIONS="--skip-platforms linux/s390x" -C pkg push PUSHOPTIONS="--nobuild"

- name: Publish Kernels
# this should only push changed ones:
# - unchanged: already in the registry
# - changed: already built and cached, so only will push
# No need to skip s390x, since kernel build.yml files all have explicit archs
run: |
make -C kernel push
97 changes: 97 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Release Tagged Linuxkit

on:
create:

jobs:
build-all:
name: Build all targets expect macOS
if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
steps:

- name: Set up Go 1.122
uses: actions/setup-go@v5
with:
go-version: 1.22.3
id: go

- name: Check out code
uses: actions/checkout@v4

- name: Set path
run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
env:
GOPATH: ${{runner.workspace}}

- name: Build
run: |
make build-targets-linux build-targets-windows
env:
GOPATH: ${{runner.workspace}}

- uses: actions/upload-artifact@v4
with:
name: release-targets-except-cgo
path: bin/

# separate macos build because macos needs CGO, and it is very hard to cross-compile that
build-macos:
name: Build macOS target
if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')
runs-on: macos-latest
steps:

- name: Set up Go 1.122
uses: actions/setup-go@v5
with:
go-version: 1.22.3
id: go

- name: Check out code
uses: actions/checkout@v4

- name: Set path
run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
env:
GOPATH: ${{runner.workspace}}

- name: Build
run: |
make build-targets-macos
env:
GOPATH: ${{runner.workspace}}

- uses: actions/upload-artifact@v4
with:
name: release-targets-macos
path: bin/

release-artifacts:
needs: [build-all, build-macos]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: release-targets-except-cgo
path: bintmp/release-targets-except-cgo
- uses: actions/download-artifact@v4
with:
name: release-targets-macos
path: bintmp/release-targets-macos
- name: Combine Artifacts
run: |
mkdir -p bin/
cp bintmp/*/* bin/
- name: Checksum Artifacts
run: |
make checksum-targets
- name: GitHub Release
uses: softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: true
files: bin/*
generate_release_notes: true
54 changes: 47 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
VERSION="v0.8+"

GO_COMPILE=linuxkit/go-compile:7b1f5a37d2a93cd4a9aa2a87db264d8145944006
# test suite to run, blank for all
TEST_SUITE ?=
TEST_SHARD ?=

GO_COMPILE=linuxkit/go-compile:c97703655e8510b7257ffc57f25e40337b0f0813

ifeq ($(OS),Windows_NT)
LINUXKIT?=$(CURDIR)/bin/linuxkit.exe
Expand All @@ -11,7 +15,6 @@ LINUXKIT?=$(CURDIR)/bin/linuxkit
RTF?=bin/rtf
GOOS?=$(shell uname -s | tr '[:upper:]' '[:lower:]')
endif
GOARCH?=amd64
ifneq ($(GOOS),linux)
CROSS+=-e GOOS=$(GOOS)
endif
Expand All @@ -31,7 +34,7 @@ export VERSION GO_COMPILE GOOS GOARCH LOCAL_TARGET LINUXKIT
default: linuxkit $(RTF)
all: default

RTF_COMMIT=2351267f358ce6621c0c0d9a069f361268dba5fc
RTF_COMMIT=b74a4f7c78e5cddcf7e6d2e6be7be312b9f645fc
RTF_CMD=github.com/linuxkit/rtf/cmd
RTF_VERSION=0.0
$(RTF): tmp_rtf_bin.tar | bin
Expand Down Expand Up @@ -74,12 +77,12 @@ bin:
install:
cp -R bin/* $(PREFIX)/bin

sign:
codesign --entitlements linuxkit.entitlements --force -s - $(PREFIX)/bin/linuxkit

.PHONY: test
test:
$(MAKE) -C test

.PHONY: collect-artifacts
collect-artifacts: artifacts/test.img.tar.gz artifacts/test-ltp.img.tar.gz
$(MAKE) -C test TEST_SUITE=$(TEST_SUITE) TEST_SHARD=$(TEST_SHARD)

.PHONY: ci ci-tag ci-pr
ci: test-cross
Expand All @@ -103,3 +106,40 @@ ci-pr: test-cross
.PHONY: clean
clean:
rm -rf bin *.log *-kernel *-cmdline *-state *.img *.iso *.gz *.qcow2 *.vhd *.vmx *.vmdk *.tar *.raw

update-package-tags:
ifneq ($(LK_RELEASE),)
$(eval tags := $(shell cd pkg; make show-tag | cut -d ':' -f1))
$(eval image := :$(LK_RELEASE))
else
$(eval tags := $(shell cd pkg; make show-tag))
$(eval image := )
endif
for img in $(tags); do \
./scripts/update-component-sha.sh --image $${img}$(image); \
done

.PHONY: build-targets-all build-targets-linux build-targets-windows build-targets-macos checksum-targets

build-targets-all: build-targets-linux build-targets-windows build-targets-macos

build-targets-linux: bin
$(MAKE) GOOS=linux GOARCH=arm64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-arm64 local-build
file bin/linuxkit-linux-arm64
$(MAKE) GOOS=linux GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-amd64 local-build
file bin/linuxkit-linux-amd64
$(MAKE) GOOS=linux GOARCH=s390x LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-s390x local-build
file bin/linuxkit-linux-s390x

build-targets-windows: bin
$(MAKE) GOOS=windows GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-windows-amd64.exe local-build
file bin/linuxkit-windows-amd64.exe

build-targets-macos: bin
$(MAKE) GOOS=darwin GOARCH=arm64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-arm64 local-build
file bin/linuxkit-darwin-arm64
$(MAKE) GOOS=darwin GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-amd64 local-build
file bin/linuxkit-darwin-amd64

checksum-targets: bin
cd bin && openssl sha256 -r linuxkit-* | tr -d '*' > checksums.txt
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ Once you have built the tool, use
```
linuxkit build linuxkit.yml
```
to build the example configuration. You can also specify different output formats, eg `linuxkit build -format raw-bios linuxkit.yml` to
output a raw BIOS bootable disk image, or `linuxkit build -format iso-efi linuxkit.yml` to output an EFI bootable ISO image. See `linuxkit build -help` for more information.
to build the example configuration. You can also specify different output formats, eg `linuxkit build --format raw-bios linuxkit.yml` to
output a raw BIOS bootable disk image, or `linuxkit build --format iso-efi linuxkit.yml` to output an EFI bootable ISO image. See `linuxkit build -help` for more information.

### Booting and Testing

Expand All @@ -75,6 +75,7 @@ for example VMWare. See `linuxkit run --help`.

Currently supported platforms are:
- Local hypervisors
- [Virtualization.Framework (macOS)](docs/platform-virtualization-framework.md) `[x86_64, arm64]`
- [HyperKit (macOS)](docs/platform-hyperkit.md) `[x86_64]`
- [Hyper-V (Windows)](docs/platform-hyperv.md) `[x86_64]`
- [qemu (macOS, Linux, Windows)](docs/platform-qemu.md) `[x86_64, arm64, s390x]`
Expand All @@ -86,7 +87,7 @@ Currently supported platforms are:
- [OpenStack](docs/platform-openstack.md) `[x86_64]`
- [Scaleway](docs/platform-scaleway.md) `[x86_64]`
- Baremetal:
- [packet.net](docs/platform-packet.md) `[x86_64, arm64]`
- [deploy.equinix.com](docs/platform-equinixmetal.md) `[x86_64, arm64]`
- [Raspberry Pi Model 3b](docs/platform-rpi3.md) `[arm64]`


Expand Down
2 changes: 1 addition & 1 deletion contrib/open-vm-tools/open-vm-tools-ds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ spec:
operator: Exists
effect: NoSchedule
containers:
- image: linuxkit/open-vm-tools:b7e7f12c310a55a4959cfa72d01216698d5c24bb
- image: linuxkit/open-vm-tools:728ddf726474178eea97604c0baeabd52edab7e9
name: open-vm-tools
resources:
requests:
Expand Down
Loading