Releases: coreos/coreos-assembler
v0.17.0
Aashish Radhakrishnan (3):
buildextend-hashlist-experimental: make tmp checkout readable
Add tmux to cosa
metal: drop workaround for ppc64le PXE bug
Adam Piasecki (6):
tests/selinux.go: Remove SELinux Enforce
scripts: Move download-overrides.py to coreos-assembler/main/src
src/download-overrides: Fix flake8 CI errors
docs/gangplank: delete the gangplank docs site
tests/ignition: Modify qemufailure to include bootfs test
kola/tests: use H.Tempfile() to access logs in coreos.unique.boot.failure
Adam0Brien (2):
mantle/kola/harness: allow success if all tests are denylisted
mantle/kola: run individual test without bucketing
Amelia Crate (1):
gcloud: Enable SEV_LIVE_MIGRATABLE_V2 FCOS kernels contain commit ac3f9c9f, needed for SEV live migration. An earlier SEV live migration implementation (without ac3f9c9f) was indicated with SEV_LIVE_MIGRATABLE, the _V2 guest os feature indicates that it contains the patch which resolves some issues with the first implementation.
Benjamin Gilbert (23):
workflows: update actions to current major versions
Require platforms.yaml in config
pkg/builds: fmt
Drop all uses of deprecated io/ioutil
workflows: bump golangci-lint
Bump minimum Go version to 1.19
go.mod: tidy
workflows: run golangci-lint at top of repo
Fix missing error checks
workflows: update golangci-lint
go.mod: update golang.org/x/*
go.mod: update golang.org/x/net to 0.7.0
go.mod: update Ignition to 2.15.0 and Butane to Git main
mantle/platform/conf: stabilize Ignition 3.4.0 spec
workflows: switch to setup-go v4
go.mod: update Butane to 0.18.0
go.mod: revendor Butane to pick up ErrUnknownVersion
mantle/platform/conf: transparently handle Butane spec stabilizations
mantle/platform/conf: harmonize log for Ignition spec ver workaround
kola/testiso: test nmstate propagation as part of "nm" component
cosalib: fix member filename when doing our own compression
cosalib: don't embed full directory paths for ZIP members
cmd-generate-release-meta: add hyperv to platform list
Brent Baude (3):
Add support for building Hyperv images
Refactor buildextend compression and add zip
Add build artifact for Apple Hypervisor
Colin Walters (52):
qemu: Add support for full emulation
mantle: Clean up firmware handling
gcloud: Enable `GVNIC` and `SEV_CAPABLE`
kola: Don't incorrectly set `bios` by default
kola: Add support for `--sharding`
tests: Stop checking for iscsid being disabled
kola: Add support for injecting Butane
kola: Add `--append-ignition` too
qemu: Remove unused Board parameter
qemu: Add `--qemu-drive-opts`
build: Drop reference to `ostree container encapsulate`
build: Add `fedora-coreos.stream` to image labels
kola: Allocate more RAM for secure boot test
kola: Add `skip-console-warnings` for `kola-denylist.yaml`
extensions: Add support for `hotfixes-$variant.yaml`
create_disk: Create image layer refs by default
virt-install: Stop using deprecated `--os-type`
virt-install: Add `--tpm emulator`
ci: Use scos (at least for now)
run: Add `noautoupdate` ignition fragment
docs/kola: Doc `skip-console-warnings`
Add support for composefs
tests: Drop `ostree.basic`
vendor: Bump github.com/modern-go/reflect2
mantle/journal: Prefer systemd unit over syslog identifier
qemu: Clarify `Memory` as `MemoryMiB`
qemu: Default to allocating sharable memfd for RAM
live-iso: Write kernel (and hmac) to /boot too
qemu: Refactor memory to actually use memfd
mantle/kola: Add `COSA_VIRTIOFS=1` and dual 9p/virtiofs support
Switch to virtiofs by default
mantle: Drop 9p support
Make `cosa build ostree` an alias for `cosa build container`
testiso: Add FIPS test (RHCOS only right now)
kola: Add `--qemu-bind-ro`
cmdlib: Drop unsafety for cache disk
devshell: Don't output status if not on a tty
qemu: Work around virtiofsd as root in pod
build-fast: Use target/ if available
create_disk: Use fsfreeze
kola: Use centralized drop-in to disable zincati
kola: Explicitly mask zincati
Update to f39
build: Unfreeze grub2
upgrade: Remove old tar code
Port to use rpmostree-client-go
Rename GetRpmOstreeStatusJSON -> GetRpmOstreeStatus
tests/upgrade: Handle container case
deps: Add composefs
tests: Use `findmnt /sysroot` for composefs compatibility
qemu: Detect raw format too
build: Also pull in ostree from updates-testing
CoreOS Bot (4):
Sync repo templates ⚙
Sync repo templates ⚙
Sync repo templates ⚙
Sync repo templates ⚙
Dusty Mabe (176):
cosalib/aws: specify region to talk to for list-regions call
src/cmd-compress: don't require image.json for decompression
mantle/platform/aws: ignore local and wavelength availability zones
mantle/openstack: detect instance error before 10m timeout
mantle: overhaul azure authentication
mantle/platform/azure: setupClients using updated azure libraries
mantle/platform/api: overhaul Azure storage API code
mantle/platform/api: API updates for azure-sdk-for-go
mantle: bump vendoring for updated Azure libraries
mantle/platform/api: drop unused plog/capnslog from api.go
build.sh: freeze grub2 since it's not working for ppc64le PXE tests
mantle/kola: fix systemd generator failure detection
cmd-kola: put basic scenarios logs in different directories
mantle/platform/conf: use 3.1.0 Ignition spec version for MergeAllConfigs()
cosalib/qemuvariants: set skip_compression=True for kubevirt
cosalib/kubevirt: drop container pushing code
src: add runvm.sh
cosalib/kubevirt: build the kubevirt ociarchive in supermin
src/cmd-push-container-manifest: allow for missing architectures
schema: use container structure for Kubevirt
schema: fix wording for rpm-ostree-inputhash description
cosalib/qemuvariants: fix compression skipping for kubevirt
mantle/kola: add detection for a kernel soft lockup
src/cmd-push-container-manifest: fix allowing for missing architectures
cosalib/kubevirt: add the version=buildID label to the kubevirt ociarchive
mantle/kola: add --allow-rerun-success to `kola run-upgrade`
build: grab latest version of `oc` by default
mantle/kola: update remote URL for ostree.remote test
mantle/kola: drop debugging bits for ostree.unlock test
mantle/kola: rm RequiresInternetAccess Flag in favor of needs-internet Tag
mantle/kola: set the 'upgrade' tag for the rhcos.upgrade.from-ocp-rhcos test
Revert "mantle/kola: add detection for a kernel soft lockup"
mantle/kola: Add internal "allow-rerun-success" tag
mantle/kola: allow rerun success on timeout
mantle/kola: allow warnOnly console checks; refactor implementation
mantle/kola: allow consoleChecks that allow rerun success
mantle/kola: add back in kernel soft lockup consolecheck
mantle/kola: use HasString() for checking if tag is set
mantle/kola: rename variable
mantle/kola: allow rerun success for platform machine start failure
mantle/platform: bump Azure API timeout to 10m for instance creation
Revert "cmd-build: Conditionally change the packing structure of container-image"
mantle/kola: enhance allTestsDenyListed detection
Revert "mantle/kola: enhance allTestsDenyListed detection"
mantle/kola: rework denylist error/non-error cases again
mantle/kola: fix scope on denylisted variable
cmd-remote-build-container: enhance tag existence check
mantle: support aarch64 architecture for GCP
mantle/kola: add in default GCP instance type for confidential compute
mantle: bump google.golang.org/api library to latest (0.128.0)
mantle/kola: simplify logic in ParseDenyListYaml
mantle: fix offline detection in testiso tests
mantle/kola: workaround checkService race condition on systemd 254+
mantle: support modifying kernel arguments for testiso tests
mantle/kola/qemuexec: Add a disk when booting from ISO
mantle/kola/testiso: support testing coreos.liveiso.fromram installs
mantle/kola/testiso: add comment about broken test
mantle/kola/testiso: expose testiso debug via COSA_TESTISO_DEBUG env var
cmd/coreos-assembler: bubble up exit code from command run
mantle/kola: exit with exit code 77 when warn:true tests fail
Revert "qemu: drop supportsIsoKargs check cause now all platfroms support it"
mantle/harness: create new GetBaseTestName() func
mantle/kola: Some fixes for warn:true with Non-Exclusive tests
mantle/harness: handle case where there warnings AND rerun success
Make compose.sh executable in git
src/cmdlib: update mv to mv -f
mantle/kola: limit testbank when doing a rerun
add proof of concept for building with osbuild
osbuild: bump to osbuild v99; include kernel-cmdline.bls-append stage
osbuild: add support for metal platform
osbuild: bump to osbuild v100
osbuild: human friendly partitioning
osbuild: set partition name (label) in partition definitions
create_disk: drop ext4 metadata_csum_seed handling
osbuild: add in patches for enabling 4k disk images
osbuild: drop id in partition definition
osbuild: switch to mpp-define-images to allow for a list of defs
osbuild: support metal4k platform
osbuild: add...
v0.16.0
v0.16.0
Aashish Radhakrishnan (2):
buildextend-hashlist-experimental: make tmp checkout readable
Add tmux to cosa
Adam Piasecki (4):
tests/selinux.go: Remove SELinux Enforce
scripts: Move download-overrides.py to coreos-assembler/main/src
src/download-overrides: Fix flake8 CI errors
docs/gangplank: delete the gangplank docs site
Adam0Brien (2):
mantle/kola/harness: allow success if all tests are denylisted
mantle/kola: run individual test without bucketing
Benjamin Gilbert (23):
workflows: update actions to current major versions
Require platforms.yaml in config
pkg/builds: fmt
Drop all uses of deprecated io/ioutil
workflows: bump golangci-lint
Bump minimum Go version to 1.19
go.mod: tidy
workflows: run golangci-lint at top of repo
Fix missing error checks
workflows: update golangci-lint
go.mod: update golang.org/x/*
go.mod: update golang.org/x/net to 0.7.0
go.mod: update Ignition to 2.15.0 and Butane to Git main
mantle/platform/conf: stabilize Ignition 3.4.0 spec
workflows: switch to setup-go v4
go.mod: update Butane to 0.18.0
go.mod: revendor Butane to pick up ErrUnknownVersion
mantle/platform/conf: transparently handle Butane spec stabilizations
mantle/platform/conf: harmonize log for Ignition spec ver workaround
kola/testiso: test nmstate propagation as part of "nm" component
cosalib: fix member filename when doing our own compression
cosalib: don't embed full directory paths for ZIP members
cmd-generate-release-meta: add hyperv to platform list
Brent Baude (3):
Add support for building Hyperv images
Refactor buildextend compression and add zip
Add build artifact for Apple Hypervisor
Colin Walters (42):
qemu: Add support for full emulation
mantle: Clean up firmware handling
gcloud: Enable `GVNIC` and `SEV_CAPABLE`
kola: Don't incorrectly set `bios` by default
kola: Add support for `--sharding`
tests: Stop checking for iscsid being disabled
kola: Add support for injecting Butane
kola: Add `--append-ignition` too
qemu: Remove unused Board parameter
qemu: Add `--qemu-drive-opts`
build: Drop reference to `ostree container encapsulate`
build: Add `fedora-coreos.stream` to image labels
kola: Allocate more RAM for secure boot test
kola: Add `skip-console-warnings` for `kola-denylist.yaml`
extensions: Add support for `hotfixes-$variant.yaml`
create_disk: Create image layer refs by default
virt-install: Stop using deprecated `--os-type`
virt-install: Add `--tpm emulator`
ci: Use scos (at least for now)
run: Add `noautoupdate` ignition fragment
docs/kola: Doc `skip-console-warnings`
Add support for composefs
tests: Drop `ostree.basic`
vendor: Bump github.com/modern-go/reflect2
mantle/journal: Prefer systemd unit over syslog identifier
qemu: Clarify `Memory` as `MemoryMiB`
qemu: Default to allocating sharable memfd for RAM
live-iso: Write kernel (and hmac) to /boot too
qemu: Refactor memory to actually use memfd
mantle/kola: Add `COSA_VIRTIOFS=1` and dual 9p/virtiofs support
Switch to virtiofs by default
mantle: Drop 9p support
Make `cosa build ostree` an alias for `cosa build container`
testiso: Add FIPS test (RHCOS only right now)
kola: Add `--qemu-bind-ro`
cmdlib: Drop unsafety for cache disk
devshell: Don't output status if not on a tty
qemu: Work around virtiofsd as root in pod
build-fast: Use target/ if available
create_disk: Use fsfreeze
kola: Use centralized drop-in to disable zincati
kola: Explicitly mask zincati
CoreOS Bot (3):
Sync repo templates ⚙
Sync repo templates ⚙
Sync repo templates ⚙
Dusty Mabe (68):
cosalib/aws: specify region to talk to for list-regions call
src/cmd-compress: don't require image.json for decompression
mantle/platform/aws: ignore local and wavelength availability zones
mantle/openstack: detect instance error before 10m timeout
mantle: overhaul azure authentication
mantle/platform/azure: setupClients using updated azure libraries
mantle/platform/api: overhaul Azure storage API code
mantle/platform/api: API updates for azure-sdk-for-go
mantle: bump vendoring for updated Azure libraries
mantle/platform/api: drop unused plog/capnslog from api.go
build.sh: freeze grub2 since it's not working for ppc64le PXE tests
mantle/kola: fix systemd generator failure detection
cmd-kola: put basic scenarios logs in different directories
mantle/platform/conf: use 3.1.0 Ignition spec version for MergeAllConfigs()
cosalib/qemuvariants: set skip_compression=True for kubevirt
cosalib/kubevirt: drop container pushing code
src: add runvm.sh
cosalib/kubevirt: build the kubevirt ociarchive in supermin
src/cmd-push-container-manifest: allow for missing architectures
schema: use container structure for Kubevirt
schema: fix wording for rpm-ostree-inputhash description
cosalib/qemuvariants: fix compression skipping for kubevirt
mantle/kola: add detection for a kernel soft lockup
src/cmd-push-container-manifest: fix allowing for missing architectures
cosalib/kubevirt: add the version=buildID label to the kubevirt ociarchive
mantle/kola: add --allow-rerun-success to `kola run-upgrade`
build: grab latest version of `oc` by default
mantle/kola: update remote URL for ostree.remote test
mantle/kola: drop debugging bits for ostree.unlock test
mantle/kola: rm RequiresInternetAccess Flag in favor of needs-internet Tag
mantle/kola: set the 'upgrade' tag for the rhcos.upgrade.from-ocp-rhcos test
Revert "mantle/kola: add detection for a kernel soft lockup"
mantle/kola: Add internal "allow-rerun-success" tag
mantle/kola: allow rerun success on timeout
mantle/kola: allow warnOnly console checks; refactor implementation
mantle/kola: allow consoleChecks that allow rerun success
mantle/kola: add back in kernel soft lockup consolecheck
mantle/kola: use HasString() for checking if tag is set
mantle/kola: rename variable
mantle/kola: allow rerun success for platform machine start failure
mantle/platform: bump Azure API timeout to 10m for instance creation
Revert "cmd-build: Conditionally change the packing structure of container-image"
mantle/kola: enhance allTestsDenyListed detection
Revert "mantle/kola: enhance allTestsDenyListed detection"
mantle/kola: rework denylist error/non-error cases again
mantle/kola: fix scope on denylisted variable
cmd-remote-build-container: enhance tag existence check
mantle: support aarch64 architecture for GCP
mantle/kola: add in default GCP instance type for confidential compute
mantle: bump google.golang.org/api library to latest (0.128.0)
mantle/kola: simplify logic in ParseDenyListYaml
mantle: fix offline detection in testiso tests
mantle/kola: workaround checkService race condition on systemd 254+
mantle: support modifying kernel arguments for testiso tests
mantle/kola/qemuexec: Add a disk when booting from ISO
mantle/kola/testiso: support testing coreos.liveiso.fromram installs
mantle/kola/testiso: add comment about broken test
mantle/kola/testiso: expose testiso debug via COSA_TESTISO_DEBUG env var
cmd/coreos-assembler: bubble up exit code from command run
mantle/kola: exit with exit code 77 when warn:true tests fail
Revert "qemu: drop supportsIsoKargs check cause now all platfroms support it"
mantle/harness: create new GetBaseTestName() func
mantle/kola: Some fixes for warn:true with Non-Exclusive tests
mantle/harness: handle case where there warnings AND rerun success
Make compose.sh executable in git
src/cmdlib: update mv to mv -f
mantle/kola: limit testbank when doing a rerun
add proof of concept for building with osbuild
Huijing Hei (19):
external-tests.md: fix kola platforms gcp -> gce
kola.md: add commands about runnning tests on `aws/gcp` clouds
credentials.md: remove the stale part for gce
Change `gce` to `gcp` (cosmetic only)
kola: add `Description` property for tests
Remove old `gce.json`
Remove stale option `--gce`
Rename `ore/gce` to `ore/gcp`
options: change options name for `gce` to `gcp` and related doc
gcp: change auth file `gce.json` to `gcp.json` and related doc
platform-id: change `gce` to `gcp` and related doc
tests: correct platform id to `gcp`
kola: support filter for `kola list --json`
kola: add kola tests description
gcp: add `--confidential-vm` option to support confidential vm
gcp: support `additionalDisks` for GCP instance
minor fixes
util: put `ParseDiskSpec` func to common
tests: sync `AdditionalDisks` parameter
HuijingHei (2):
qemu: add `env COSA_TEST_CDROM_UNPLUG` to test cdrom unplug
Could save console logs when running with `devshell`
Jan Schintag (6):
s390x: Add documentation for buildextend-secex
secex: Remove hardcoded workdir assigment in runvm.sh
ignition-gpg-key: Skip compression of ignition protection gpg key
s390x/Secure Execution: Set swiotlb to recommended value
s390x/Secure Execution: Move swiotlb kernel arg to bls-config
iso-fips.uefi: Do not run test on arches without uefi
Jonathan Lebon (115):
cosal...
v0.15.0
tag v0.15.0
Tagger: Dusty Mabe [email protected]
Date: Mon Nov 21 15:07:19 2022 -0500
Adam Piasecki <[email protected]> (1):
3d0d66214 coreos-assembler/src/cmdlib: rearrange option sequence
Benjamin Gilbert <[email protected]> (24):
c7bbb9534 workflows: fix bump-nocache-line with current Git
5a809d69d mantle/platform/api/gcloud: report underlying error when pending op fails
0b3b3016f mantle/platform/api/gcloud: attach service account to instances
4a464b613 mantle/kola: add test flag to skip passing credentials to instance
45fc1e751 create_disk.sh: add missing trailing newline in grub.cfg
4ec73715d gf-platformid: rename to gf-set-platform
ddbb36a7b Fix stale GitHub line number references in comments
cf6012087 Configure the console by default only on particular platforms
9d7db638e kola/tests/misc/users: drop list of accounts with nologin shells
9cb99e808 mantle/platform: stop injecting fedora-coreos-pinger config
32bc5b47b gangplank: have go mod ignore gangplank
4339d2dea schema: bump Go to 1.17
5f559a920 Revert "Gangplank: REVERT w/ GoLang 1.16: add interface for os.FileInfo"
515b9865d mantle: bump Go to 1.17
70368b209 cosa: bump Go to 1.17
171b52b9e Consolidate CPU-count logic into mantle and reimplement it
8397c0d0f guestfish: enable SMP in VM for mksquashfs
f63496592 ci: request 8 CPUs in pod
32e6d9f66 kola: support "auto" argument to -j/--parallel
5018d9c39 buildextend-live: hardcode old feature flags
e4f39c89b buildextend-live: add coreos-installer config directives to feature map
3d742f119 Revert "create_disk.sh: go back to using --kargs for `rdcore zipl`"
32062fd52 mantle/kolet: add context to fix go-systemd deprecation warnings
89f06f542 shellcheck: detect unbracketed if expressions in shell scripts
Christian Glombek <[email protected]> (1):
7a3e9a537 Explicitly set `-cpu Nehalem` on x86 qemu when `COSA_NO_KVM=1`
Colin Walters <[email protected]> (71):
3c7694e3f docs: Describe testing an in-place OS update
20feba5ff continuous/: New build
816ebaed4 Insert generated image.json into the ostree commit [retry]
4581cdf1e build: Handle case of previous build with no image.json in ostree
5ee768b7e build: Lower zlib compression level for tmp/repo
fed9ccad2 build-sys: Drop `gangplank-check` out of `make check`
6222e3fc6 build: Use lockfiles to guard ostree repo and `image.json` extraction
5569136c2 init: Add `--transient` flag for ephemeral builds
7e7e5b4b8 init: Add a success message
cd28cca77 build: Use `cache=unsafe` for `cache.qcow2` and transient builds
57ce5c973 ci/prow-rhcos.sh: use `--transient`
04a5f2269 Delete `cosa-runc`
e02480568 cmdlib: Ensure bare-user tmpdir is in $workdir/tmp
f8ef5a8f7 docs: Delete reference to `cosa runc`
0890f5f6c docs: Document `cosa build-fast`
4db0e0978 tests/crio: Override ridiculously low default crio grpc timeouts
de628bc6d sign: Use `replace-detached-metadata` if available
6262f59d2 sign: Coerce output to UTF-8 to avoid a runtime crash
e9bd01ab9 Makefile: Add a hint on how to hack on the cosa schema
22a85ec7b sign: Don't delete source container before trying to inject signature
75b797889 build: Drop down to 50 layers for chunked images
432636d7f schema: Add entry for baseos-container
4a6477ea6 push-container: Also inject `baseos-container` into `meta.json`
7f87a9d7c push-container: Actually use tag to push
7a8b01c08 ci/prow-rhcos: Adjust for recent changes in openshift/os
4d8a3842e cmdlib: Explain to people they can set `COSA_NO_KVM`
31a741686 build: Downgrade edk2-ovmf to f35
6862e211d build: Add BZ comment and tweak error handling for `edk2-ovmf`
ce6b30138 Fix duplicate `.json.json` in schema defaults
301790ab5 main: Stop setting `COSA_META_SCHEMA`
46d5bc9a9 main: Change `/sys/fs/selinux` handling to be a hard error
659da3df5 Revert "main: Change `/sys/fs/selinux` handling to be a hard error"
6e6b9e57d build: Default to new ostree chunked v1 (with new rpm-ostree)
8701d03b5 build: Add a `--fetch` (`-F`) argument
6363853ea mantle: Display stderr from `ssh-keygen`
aa944b8f6 Make `/usr/bin/coreos-assembler` a Go program, implement `clean` in Go
3751fa72d build: Make v1 chunked opt-in via config git
7347ec69d mantle: Bump to github.com/spf13/cobra 1.5.0
ccac4d2bc ci: Move ShellCheck to GH actions
710fabf49 build: Always pass `--format-version` to rpm-ostree
49828b632 Stop building gangplank (but keep the code), drop `gangplank/vendor`
0bc144a9e gangplank: Also drop go.mod/go.sum
8897a49bc Drop use of `python3-semver`
ab2f64fc3 kola: Change `--oscontainer` to use new ostree native containers
4d4f3ddbe kola: Add support for `injectContainer`
509b60ff8 buildextend-extensions: Clean up temporary workdir when done
0cdfd1f10 tests/rhcos/upgrade: Switch to `ostree container`
61b68b437 image: Default to chunked-v1
34c2ce55d build-fast: Also propagate `ostree.bootable`
4d1adfc4e build: Switch to `rpm-ostree compose container-encapsulate`
c3ee1e555 create_disk: Set repository options early
60f795a83 kola: List tags for tests by default
715325599 build: Stop using `rojig/summary`, make it optional in schema
1b4f1c960 schema: Stop vendoring minio
b4cb85788 create_disk: Fix s390x regression from previous change
83e0f42f4 kola: Also support inline YAML for metadata
5d6265e72 kola: Add a `platform-independent` tag
429241d0a build-extensions-container: use `finalize-artifact`
953c783de Move the schema/ package to the toplevel
493c480c1 builds: Fix arch to use standard coreos arch function
58397a09f mantle: Replace all uses of `system.RpmArch` with standard arch API
0a80f048b tools: Drop gomarkdoc
93e199686 docs/gangplank: Remove generated docs
1f62f5ad9 Remove the `tag` command
acb429419 schema: Fix `make schema`
484c14841 Remove `tools/`, install schematyper on demand
a99033da6 build: Add a `--prepare-only` flag
6273af9e3 build: Restore summary value
730618d91 build: Drop old ostree-format support
aeaa1d425 cosash: Ensure we always inject trailing newline into commands
0d0bddf3b build: Add image.yaml option to inject OpenShift CVO annotations
Dusty Mabe <[email protected]> (88):
6a23441aa build.sh: fix sudo on ppc64le
1e9e5a18a mantle/platform/aws: tag created net resources with a Name
4119dc452 mantle/platform/aws: add IPv6 support
53a7b1025 tests: remove basic/NetworkScripts test
ef2f0116c kola/tests: account for ipv6 in `fcos.network.listeners`
e59bf4372 tools: freeze minio on RELEASE.2022-05-26T05-48-41Z
73b7407f4 Revert "build-sys: Drop `gangplank-check` out of `make check`"
0d37558b0 create_disk: delete dead --disk argument
f9332a538 cmdlib: mount supermin root disk by UUID
433a68da9 cmd-meta: support setting/getting fedora-coreos.parent-{commit,version}
db0052966 cosalib/aws: allow passing through --credentials-file to ore
9214b9bb5 cmd-buildupload: add s3 --aws-config-file option
9d55a20a1 cmd-buildfetch: add --aws-config-file option
b3facd952 mantle/platform/qemu: use non-debug UEFI firmware for aarch64
c540ccec3 mantle/platform: enhance failed units check output
1e4735988 mantle/platform: always run systemd unit checks
c5afcd6a2 mantle/kola: sort RuntimeConfig options alphabetically
e2ee0f460 mantle/kola: extend the "skip-base-checks" tag to cover systemd unit failures
e98358a42 mantle/kola: extend --ssh-on-test-failure to work when systemd unit failrues are detected
786e87b59 cosalib: fix init_build_meta_json for multi-arch
2b0b36d3e cmd-sign: add s3 --aws-config-file option
0a69b3750 cmd/coreos-assembler: support `coreos-assembler --help`
3defcfa76 add `coreos-assembler remote-session` command
e31e7f5ac cmd/remote-session: add --quiet for sync
cb65eb36e schema/cosa/build: check http response codes in http.Get
2ca610c38 cosalib/builds: add get_latest_for_arch function; use it in cmd-build
1ac86fb63 cmd-buildfetch: continue loop if arch missing
1c970d6c3 cmd-buildfetch: bring the ostree ref delete into the loop
68645661b cmd-buildfetch: add --find-build-for-arch option
73bdf387a mantle/kola/harness: disallow AppendKernelArgs for non-Exclusive tests
ccd07d30d src/cmd-remote-build-container: move some code to main()
49d26beef src/cmd-remote-build-container: re-arrange tag var usage
7cb91d45f src/cmd-remote-build-container: rename some functions
a5403b303 src/cmd-remote-build-container: convert some raise statements
2888f8c6a src/cmd-remote-build-container: check registry up front
a5dbf8ef5 src/cmd-remote-build-container: check podman storage too
1bc46cef8 src/cmd-remote-build-container: fixup some spacing; add comments/logs
2a1121d28 cosalib: enhance run_cmd; rename to runcmd
605c5fea1 src/cmd-remote-build-container: add and use logging package
3604abb19 src/cmd-remote-build-container: use tenacity for retrying registry check
59a912eed src/cmd-remote-build-container: mark file as executable
3942ea4bf src/cmd-remote-build-container: fix git short-hash determination
b7f39c823 cosalib: further consolidate run() functions
7ba747889 cosalib: collapse runcmd and runcmd_verbose into one
18691e6d5 src/cmd-remote-build-container: appease flake8
350ff98ba src/cmd-re...
v0.13.0
tag v0.13.0
Tagger: Dusty Mabe [email protected]
Date: Tue Mar 8 16:48:32 2022 -0500
Benjamin Gilbert <[email protected]> (22):
a2066dbed mantle/platform/machine/azure: always use fake RSA SSH key
e2b7ca472 mantle/platform/api/aws: tag network resources atomically
6c0c50483 mantle/platform/conf: drop unused AddFile() argument
862dd517b mantle/kola/testiso: drop obsolete unit dependencies
92ee41522 buildextend-live: add features.json to live initrd image
67cc08f57 buildextend-live: add features.json flag for live OS firstboot-network
7fa16a692 buildextend-live: add features.json directly to ISO
236b058b5 buildextend-live: add option to generate coreos-installer test fixture
d09b31ad2 mantle/kola/testiso: use coreos-installer config file for ISO installs
084739667 schema: regenerate to add missing nutanix artifact
214bfdb86 compress: drop imgs_to_skip entries for old installer artifacts
97c522781 compress: move assignment into loop iteration
18932930f Add skip-compression field to meta.json
7be107a68 Revert "mantle/kola/tests: disable RAID tests on aarch64/ppc64le"
d9f3971f0 platform/conf: allow selecting render behavior on config warnings
af765bd8a platform/conf: temporarily disable failing on config warnings
cee96d8b2 Revert "platform/conf: temporarily disable failing on config warnings"
0659ef210 cmd-buildinitramfs-fast: fix example install invocation
189d1798a Update for renamed osmet/miniso pack subcommands
99ce83436 buildextend-live: drop legacy embed headers
976706132 Revert "Update for renamed osmet/miniso pack subcommands"
c47512567 docs/working: mention --ignition-direct for working on the Ignition spec
Colin Walters <[email protected]> (13):
7d4a64481 devshell: Avoid error spew if binary message in systemd journal
a6a11c93c build: Ship `ci/` directory installed
cc468b5b6 build: Default to ociarchive for ostree
7f1ad6ca9 Blow out quay.io cache
e45761755 Switch from `rpm-ostree ex-container` to `ostree container`
0d3ce33b0 Enable `module_hotfixes=true` for overrides/rpm
7336b9872 Drop `buildprep`
c90db9616 Switch from `rpm-ostree ex-container` to `ostree container`
0d0090e64 `cosa push-container`: New command
f7ba33f8a build: Pull rpm-ostree from updates-testing
1b9da8db1 Dockerfile: Blow out quay.io cache
2c8eda187 oscontainer: Push in v2s2 format by default
544ef6a7e clean: Add --all option to also remove `cache/`
Dusty Mabe <[email protected]> (21):
e939ddc5b mantle/platform: azure: allow for not passing SSH key through API
dd6b2fe2d mantle/platform/qemu: Rename AppendKernelArguments -> AppendKernelArgs
566a53bab kola/external-tests: add appendKernelArgs support in kola.json
38082aacc Revert "Switch from `rpm-ostree ex-container` to `ostree container`"
5e784a234 mantle/kola: retry rpm-ostree status for extra info
c5626073e mantle/kola: try twice to bring up machines
abd4dc67a cmd-sign: extend ROBOSIGNATORY_REQUEST_TIMEOUT_SEC
37f267e3f schema: sync up shema updates to gangplank vendor dir
1dd3a3b91 mantle/util: delay after attempt in WaitUntilReady
363a1b017 mantle: add new RetryUntilTimeout() func, use for early SSH commands
e71b865fa mantle/platform: `NewMachine` just call `NewMachineWithOptions` for all platforms
c87a077c6 mantle/{kola,platform}: include Ignition runtime in test timer
c27893e39 Revert "cmd-sign: extend ROBOSIGNATORY_REQUEST_TIMEOUT_SEC"
c49a4e4b8 mantle/platform: rename IgnitionNetworkKargs to AppendFirstbootKernelArgs
c350ea6b2 mantle/platform: qemuexec: rename --knetargs to --firstbootkargs
f690451f4 kola/external-tests: add appendFirstbootKernelArgs support in kola.json
6b4bed521 workflows: add bump-nocache-line workflow
224b8eb3a workflows: move bump-nocache-line.yml into workflows/ dir
afb133009 workflows: install deps in bump-nocache-line workflow
ed753cb08 workflows: more fixes for bump-nocache-line workflow
2429bc74e cosalib: make ibmcloud.py pick up on provided --arch
Gursewak Mangat <[email protected]> (3):
19531a659 cmd-build: Add support for content_sets.yaml
f92efb7f0 mantle/platform/util.go: catch 'dial tcp' error during reboot
f8ae484c4 testiso: Add miniso-install-nm scenario
Huijing Hei <[email protected]> (3):
648642599 src/cmd-buildextend-live: Exit when building RHCOS live iso using 'cosa buildextend-live --fast'
58d92f99d kola/external-tests: add additionalNics support in kola.json
7b3cafb07 kola: rename `secondary-nics` to `additional-nics`
Jakub Čajka <[email protected]> (1):
d001ba8cf cmd-compress: add decompression ability
Jonathan Lebon <[email protected]> (49):
30c281363 Move to Fedora 35!
e772b1ab3 Drop "buildroot" image
0c28fadba mantle/build: declare basearch -> goarch mapping upfront
9228de2e1 mantle/build: allow overriding kolet arches to build
f23b410a2 Dockerfile: link to Prow job and fix chmod hack
11f708b47 grub: support searching for boot by UUID
174ed4717 buildextend-live: always enable miniso
ea2f598ef testiso: add miniso-install scenario to default set
833defdbb Dockerfile: tickle Quay.io cache for coreos-installer v0.11.0
388d719e7 ci/prow-rhcos.sh: fix branch handling
be74853d0 Dockerfile: tickly Quay.io cache for rust-coreos-installer-0.11.0-2
4eb6f3d5d cmd-buildinitramfs-fast: specify backing image format
8cd5cdace harness: fix handling of required tags
79311db33 harness: run tests with required tags if specified by name
2aab5a236 kola/harness: rename `match` to `nameMatch` for clarity
dee755e7f kola/harness: split complex conditional in two
06c279755 kola/harness: rename and flip `noPattern` variable
1c8f45bbe kola/harness: add comments around filtering conditionals
410b49d83 ci/prow-rhcos.sh: check both OPENSHIFT_BUILD_REFERENCE and PULL_BASE_REF
4e5113f35 kola/register: specify unit for `MinMemory` field
c6f1b0989 platform/aws: make `NewMachine` just call `NewMachineWithOptions`
d633351f7 kola/external-tests: add support for `minDisk` field
d5dc0c502 testiso: add --add-nm-keyfile for NM keyfile propagation testing
419941c2e testiso: remove `[Unit]` from NM keyfile
3c314828e kola/upgrade/basic: drop metrics.promsock check
1abb016d2 cosalib/messaging: disable pylint check on addErrback
4129df4b2 tests/rpmostree: fix printing the wrong error var
f500796ca kola: add helper to log to machine journal
fad99d413 kola: add subtest runner which logs entry and exit
97675be8b cmdlib: rename overlay refs
4de7c4c03 cmdlib: support `overlay.d/cosa-no-autolayer` option
ba87dd0c5 tests/ostree/unlock: use G_MESSAGES_DEBUG=all
115e7668a tests/ostree/unlock: verify we can still SSH after unlock
73a7eb6be cmdlib: drop support for `overlay.d/cosa-no-autolayer`
fc8c5f07e Revert "cmdlib: drop support for `overlay.d/cosa-no-autolayer`"
aecc939c4 docs: add page dedicated to `cosa run`
5e7f52151 qemuexec: automatically resize the terminal on serial
657642edd tests/ostree/unlock: use G_MESSAGES_DEBUG=rpm-ostreed
e5d5d903f tests/multipath: check for /etc/multipath.conf
e2ec123f9 cmdlib: forbid overlay when building, not preflight
ed1532c45 cmd-list: handle missing builds gracefully
900b84a30 cmd-decompress: handle missing arches gracefully
04aa4c16a cmd-decompress: skip over missing artifacts
707d3efde cmd-compress: log skipped artifacts once
b5b0e274f cmd-compress: print skipped artifacts more nicely
3fac91896 cmdlib: consistently commit layers with same options
73bf91dda build.sh: add support for frozen deps
d226eb2b0 build.sh: freeze on kernel-5.15.18-200.fc35.x86_64
25d84d704 Revert "Revert "cmdlib: drop support for `overlay.d/cosa-no-autolayer`""
Joseph Marrero <[email protected]> (4):
123195f3d kola/tests/ignition/security.go: drop do and packet platform exclusions
c9d28a0c1 mantle/platform/api/do: use IPv4 when using custom images
122a07466 mantle/platform/api/openstack: add flag to override region
d5f1623aa CONTRIBUTING: add omitted coma
Julian Wiedmann <[email protected]> (2):
a9d731bce mantle/platform/qemu: update deprecated 'readonly' option
236ac8015 kola: also use by-partlabel for mount tests on s390x
Micah Abbott <[email protected]> (14):
91050be95 kola/tests/rpmostree: refactor install-uninstall test
7afed2519 docs: add information about distros key
388294046 docs: provide complete AWS IAM policy example
57aaf77c5 deps: install Aliyun CLI
3f0b818a5 mantle/platform/aliyun: bump default request timeouts
ee50556df tools: update go modules based on `go mod tidy`
d989d6f15 tools: remove all the go module cruft
1fc8d858a tools: install tooling directly as binaries
27e033818 mantle: update alibaba-cloud-sdk
d0a638a13 mantle/ore: add visibility command for Aliyun
1e5c067c6 mantle/aliyun: allow CopyImage to wait for image readiness
67077773f gangplank: update containers/storage and opencontainers/runc to latest
d3f269c60 cosalib/aliyun: extend commands to mark images public
2088d2488 mantle/aliyun: add tags when doing ImportImage
Michael Nguyen <[email protected]> (1):
d39a5b24e kola: follow symlinks for kola external data dir
Olivier Lemasle <[email protected]> (1):
c384c5513 docs: fix go templates formatting
Ram Lavi <[email protected]> (3):
1a320c571 mantle/k...
v0.12.0
There have been 456 commits since the last release! Here are the highlights:
This release supports changing the serialization of the ostree commit to a .ociarchive
file. The intention is to make this the default soon. Various tests as well as the Fedora signing server integration were updated to use this.
PR: #2216
Several improvements to cosa run
around error handling and SSH, race condition fixes.
Many improvements and fixes have been done to gangplank, culminating in its usage in the FCOS pipeline for building aarch64 artifacts.
Tests now support Butane configs. The RAID tests for example were updated to use Butane. Similarly, cosa run
now supports Butane configs via the -B
switch.
Ignition support was bumped to v3.3.0, and Ignition spec 2 support (as well as some Container Linux only tests) were removed.
There is a new iso-as-disk
scenario in kola testiso
. testiso
now skips signature verification for development builds.
The buildprep
command is now considered deprecated in favour of the new buildfetch
command.
Kola now supports test timeouts. The default timeout is 10 minutes.
kola run
will now group "non-exclusive" tests together so that they re-use the same machine.
cosa run
now supports adding multipathed disks using the syntax: cosa run --add-disk 1G:mpath
.
New platform support: Aliyun and PowerVS, as well as uploaded images in IBM Cloud
And many more fixes and improvements!
Shortlog:
Ben Howard <[email protected]> (69):
e3a2480ec Gangplank: support pushing ostree to registries
7ef3303ff Gangplank: fix shorthands for pseudo artifacts
8b7f63f91 Gangplank: use UUID in pod mode
863e7dd1f Gangplank: allow for inline definition of repositories
c40d7f2c6 Gangplank: introduce overrides
3fd2ef4b8 Gangplank fix incorrect lowering of kola test names
6ac16f68b Gangplank: make use of sudo for tarball creation optional
041bbbcc4 Gangplank: move cmd/*.go to cmd/gangplank.go
8673b7373 Gangway for cgo free Gangplanks
93c837035 Gangplank: do not return cache by default
87cdcaab1 Ganglank: re-enable CGO
2f6c69003 Gangplank: remove unneeded find shell command
2145a9fa1 Gangplank: remove verbosity on dumb-init
f74fa467d Gangplank: add podman vendoring for images and volumes
961782c5d Gangplank: full remote podman support
9d140975e Gangplank: drop need for CGO devel libraries
82d93a78f Ganglank: add build tags and CGO settings for VSCode
3d69dcc06 Gangplank: fix standalone minio from always forwarding
b7a89f4aa Gangplank: always use remote minio backend on origin command
24a2058b9 Gangplank: REVERT w/ GoLang 1.16: add interface for os.FileInfo
27d0ff0a3 Gangplank: use bucket and path prefix for remote objects
5b52a128c Docs: update automated Gangplank documentation
f9b291bd7 Docs: update Gangplank docs on Minio and Remote Podman
555495465 Gangplank: force compression to/from minio
4c6766792 Gangplank: use pure-Go SSH forwarding
0cac034b1 ocp: Update templates for OCP
3dc000fa0 Mantle: enable race detection for non-s390x arches
dec8fbc32 Mantle: use mutex to fix race in json report
d054e2522 Mantle/Kola: make qmp.SocketMonitor part of the qemu instance
9de12c1e3 Mantle: handle race conditions for cross building correctly
44999096d src/cmd-upload-oscontainer: use arch in the push tag
952743fd6 Mantle: rename platform.NewBuilder to NewQemuBuilder
4c9fa29d5 OCP: updated the Gangplank yaml files to include branch names
e9e9aeb70 Docs: update Gangplank docs
c09f937c6 Gangplank: update vendoring for Kubernetes v1.21.0
1d17b12c0 Gangplank: update podman vendoring to v3.2.1
95ddfc4af Gangplank: update Kube API calls for v1.21.0
0f52b3841 Gangplank: fix remote pod mode
c4754026d Gangplank: define default bucket
4cf63a5fc Mantle: use events for devshell
d8711a0ef Mantle: devshell fix-up for exit hang from SSH
2b622cda4 Gangplank: disable tests pending Minio fix
2f63eb27b Gangplank: use internal package layout conventions
198799071 Tools: update Minio and golangci-lint vendoring
ca7bce8a1 Tools: add noop import.go file for making management easier
513a1592d Tools: add versioning and fix minio build to use vendoring
c2e6d36bf Gangplank: fix race for Minio failures in CI
16f09ea23 Gangplank: add wait and retry logic for Minio calls
903ad75f5 metal: fix read-race condition when updating metadata
de83dca9b metal: add cosa meta-stamp to meta.json
250bb6a70 Dockerfiles: add buildroot definition for CI
ec341cf16 Gangplank: fix minio startup problems in CI
cc9ad350a Gangplank: fix schema location
1b8671911 Gangplank: fix broken URL tests
9f4811e06 Makefile: re-enable Gangplank CI checks
a86c488a2 Makefile: disable Gangplank, again
06863827e Vendoring: prep work for shared schema
c519d6923 Schema: introduce shared schema
a1bcc448c Gangplank/Mantle: remove internal schemas
ec02d8260 Tools: move schema generation out of the tools directory
33125d515 Mantle/Gangplank: use shared schema
9185dd0ab Move schema definition under src
696ce0b38 Gangplank: gofmt fixups
084b6134e Gangplank: re-enable CI but disable minio checks
27ad2b109 Makefile: fix incorrect build tag for excluding minio
0e8b24db7 Gangplank: add go-testify for testing
a7126a96a Gangplank: understand ostree and qemu as base builds
a7e83c1c9 Gangplank: use log API for logs
59bfacf9a Gangplank: support opaque secrets for push secrets
Ben Howard <[email protected]> (2):
fc633e072 Update gangplank/cmd/gangplank/pod.go
ede6c62bb Update gangplank/internal/spec/jobspec.go
Benjamin Gilbert <[email protected]> (57):
8077d9aad mantle: drop some boilerplate files from cosa repo merge
7406a180d mantle/README: drop stale tools
d30c859f5 mantle/platform/conf: don't panic on additions to an empty config
db56cfeca kola: disable fcos.ignition.misc.empty on AWS for Fedora crypto policy
c18fb47fc kola/tests: ensure Afterburn SSH key tests didn't set keys via Ignition
3e69da162 kola: switch default GCE image to FCOS testing
c9d64fe2e mantle/go.sum: go mod tidy
b89160177 mantle/go.mod: vendor Butane
87f2ab59a mantle/platform/conf: make the config an argument to renderIgnition
f04cb66d8 mantle/platform/conf: support Butane configs
d4c27a252 mantle/kola/tests: update RAID tests to use Butane
a954d73f3 mantle/kola/tests: update some disabled tests to pretend to use Butane
2ce86b742 mantle/kola: accept .bu suffix for Butane config in external test
de87cadf4 mantle/kola: pass conf.UserData to registerExternalTest()
c5572b3df mantle/kola: don't shell out to render Butane configs for ext tests
a7fd9b855 mantle/kola/qemuexec: don't shell out to render Butane configs
77cb57b89 kola/tests: fix coreos.ignition.ssh.key
87477d35b go.mod: update Ignition to 2.11.0 and Butane to Git main
4b0de85e0 platform/conf: update for Ignition spec 3.3.0
bcf804c47 mantle/platform/conf: add tests for additional spec versions
d45630fc5 mantle/platform/conf: use Ignition GetConfigVersion()
cc013b066 mantle/platform/conf: support wrapping the next stable spec
7ac96986d OWNERS: remove
f26e8697e cmdlib: support statoverride file in root of an overlay.d directory
4e6e10335 mantle: update Butane to 0.13.0
c28540686 mantle/go.mod: revendor
3c19cc394 mantle/go.mod: bump xz
cc6122336 mantle/go.mod: update Butane
46af3f49e mantle/kola/tests: disable RAID tests on aarch64/ppc64le
1170a7e4b mantle: drop update package
0a3a4da2a buildextend-live: add stub grub.cfg to efiboot.img
9ea672d3b buildextend-live: log a message when booting via the stub grub.cfg
09da8afe7 mantle/platform/qemu: always copy the ISO image
8971ef1c4 mantle/kola/qemu: support attaching ISO as regular disk
97734f4d1 mantle/kola/testiso: re-enable iso-live-login scenario by default
bd6ce1856 mantle/kola/testiso: add iso-as-disk scenario
1e0d63a75 mantle/kola/testiso: remember to log console output from testLiveLogin
74a612c02 mantle/kola/testiso: split iso-as-disk to separate function
350c1d93b ci: kola basic scenarios are run by default now
b499b8909 cosalib: add glob helper that checks for at least one match
5bed36f33 buildextend-live: drop shim fallback.efi from ISO; simplify EFI image
bf6d88e7a mantle/kola/testiso: ensure live ISO doesn't create an EFI boot entry
3c87f22b4 buildextend-live: add JSON file to the ISO with kargs embed info
ebb925896 mantle/platform/machine/unprivqemu: drop unused field
aeda01091 create_disk: improve help
be80390b5 gf-platformid: simplify a sed command
3774fd821 buildextend-live: fix /run/media/iso mount flake booting from disk
840d6d326 buildextend-live: remove deleted files from kargs.json
0846cfc66 buildextend-live: fix grub.cfg path in kargs.json on ppc64le
8c1202ba7 mantle: update stream-metadata-go
e55371390 mantle/plume/cosa2stream: set metadata.generator field
1073bba91 mantle: run `go mod tidy` in `make vendor`
f0e37cf75 mantle: bump to stream-metadata-go 0.1.4
d45653a09 buildextend-live: assume bootupd
d5c2a54fc cmd-artifact-disk: fix typo
248c60820 cosalib.vmware: rename to ova
8b5ea962d Enable Dependabot checks for Butane, Ignition, stream-metadata-go
Colin Walters <[email protected]> (61):
6bca399a1 build/gcp: Add...
v0.11.0
There have been 244 commits since the last release! Here are the highlights:
- A lot more progress on gangplank. We're hoping to soon have it used in
upstream CI on openshift/os. Ganplank is now runnable in four modes: Podman,
Custom Build Strategy, Pet container mode, and in-cluster pods. - There is a new
buildextend-extensions
command which formalizes OS extensions
shipped in RHCOS as part of the oscontainer. Notably, we now userpm-ostree compose extensions
to resolve dependencies before fetching extensions. Richer
metadata is added in bothmeta.json
and the oscontainer itself about
included extensions. - There are new
generate-release-meta
andcosa2stream
commands to allow
converting cosa metadata into stream metadata. This is part of the work to
eventually have bootimage updates
in OCP. - The
buildextend-live
command now includes information in the System Area of
the live ISO which works hand-in-hand with
coreos/coreos-installer#341 to allow modifying
embedded kernel arguments. This is also used bykola
itself to make console
output go to the serial port when booting the ISO. - Many bugfixes throughout the codebase.
- Many improvements to CI; it now more strongly leverages
coreos-ci-lib.
v0.10.0
A lot of changes happened since the last release. Some highlights:
- There is a new "gangplank" binary which is intended to
make building with cosa more OpenShift-native. For more information, see
https://github.com/coreos/coreos-assembler/tree/master/gangplank. - The partition table has been re-ordered: the boot partition is now ordered
after the BIOS-BOOT partition. For more information, see
coreos/fedora-coreos-tracker#669. - OSTree tarballs and containers now include a ref for the matching cosa build
ID. This is especially useful for RHCOS, which otherwise doesn't have a ref. - We now build
kolet
statically to allow it to work on any target host,
regardless of the runtime mismatch between it and cosa. - Kola now talks directly to the QEMU monitor. This allows for example better
handling of boot order switching in tests rather than relying onbootindex
. - There is an experimental
generate-hashlist
command used to output a hashlist
compatible with Keylime. upload-oscontainer
now supports anoscontainer.yaml
andextensions.yaml
from the config repo, pulled from RHCOS
There's much more of course, including lots of fixes, cleanups, and CI
improvements; see the git log for details.