Commit Graph
20 Commits
Author SHA1 Message Date
Andrei Vagin 51fa9984e7 Update bazel, rules_go and gazelle 2023-08-03 18:22:26 -07:00
Andrei Vagin 0bc8c2ac3f Update bazel to 6.1.1 2023-03-21 23:20:28 -07:00
Adin ScannellandAndrei Vagin f278d0e433 Add appropriate arch_genrule transitions. 2023-02-28 12:28:17 -08:00
Andrei Vagin 6c3b2a8e88 Update bazel to 6.0.0 2023-02-17 14:42:11 -08:00
gVisor bot e7e22f38c1 Merge pull request #8154 from avagin:bazel-update
PiperOrigin-RevId: 492077389
2022-11-30 18:56:18 -08:00
Andrei Vagin 7f94c77962 Update bazel packages
Signed-off-by: Andrei Vagin <[email protected]>
2022-11-29 14:01:41 -08:00
Kevin KrakauerandgVisor bot 5ac93d5db1 remove unnecessary dockerfile step
After cl/473873880 this is no longer necessary.

PiperOrigin-RevId: 474334039
2022-09-14 10:49:28 -07:00
Kevin KrakauerandgVisor bot 94d74fed2f add clang to default image
clang will be used to compile BPF.

PiperOrigin-RevId: 463392266
2022-07-26 11:53:04 -07:00
Etienne PerotandgVisor bot a0ab6f841c Default Docker image: Add kmod package.
PiperOrigin-RevId: 450564818
2022-05-23 17:49:33 -07:00
Adin ScannellandgVisor bot 8b60115f51 Ensure that nogo is enabled.
A recent change stopped using the correct file (the export data, not the
archive) and checklocks started failing. Unfortunately, this was suppressed,
since the filter command was not failing with findings.

This change fixes that problem and adds a test to ensure that this cannot
happen again. If nogo starts failing to identify problems, the sanity_test in
nogo/sanity will also start to fail.

This change also requires updating the WORKSPACE to the latest rules_go and
Go version, in order to pick up the fixed go_tools. The latest rules_go in
turn required an updated bazel, which in turn required a minor change in the
coverdata implementation.

Fixing the fact propagation brought forward a number of problems with caching
for bazel workers. Its unclear whether this was a core worker issue or whether
some caching was broken, but the situation was basically undebugable. Instead,
the way facts are stored and loaded is optimized to be able to remove the use
of workers altogether and ideally make nogo debuggable.

PiperOrigin-RevId: 426327186
2022-02-03 23:45:40 -08:00
Zeling FengandgVisor bot 493bf93bd5 Dockerless PacketImpact
- More hermetic test network setup
- Easier to use/setup without docker

Updates #6018, #6835.

PiperOrigin-RevId: 410039248
2021-11-15 11:44:51 -08:00
Fengjin Chenandchenfengjin cc0ae92c5c Add -y to install docker-ce when build image 2021-08-02 12:40:22 +08:00
Tamir DubersteinandgVisor bot 13777b8b47 Update go-tools to 2020.2.1
...and a bunch of other things as I worked through the rot. Notably:
  - Upgrade to bazel 4.0.0
  - Upgrade to Go 1.15.7

Remove go_branch stderr suppression; this made it quite difficult to see
what was failing while developing this patch.

PiperOrigin-RevId: 355257833
2021-02-02 14:53:12 -08:00
Andrei VaginandAndrei Vagin 8e7b47626a Add ARM smoke test
make BAZEL_CONFIG=aarch64 arm-qemu-smoke-test

Signed-off-by: Andrei Vagin <[email protected]>
2021-01-07 17:41:43 -08:00
Adin ScannellandgVisor bot 727b2adc2f Tweak aarch64 support.
A few images were broken with respect to aarch64. We should now
be able to run push-all-images with ARCH=aarch64 as part of the
regular continuous integration builds, and add aarch64 smoke tests
(via user emulation for now) to the regular test suite (future).

PiperOrigin-RevId: 346685462
2020-12-09 18:51:17 -08:00
Adin ScannellandShentubot 0bcbf188c6 Refactor the Makefile to avoid recursive Make.
Recursive make is difficult to follow and debug. Drop this by using
internal functions, which, while difficult, are easier than trying to
following recursive invokations.

Further simplify the Makefile by collapsing the image bits and removing
the tools/vm directory, which is effectively unused.

Fixes #4952

PiperOrigin-RevId: 346569133
2020-12-09 15:53:23 -08:00
Pratik raj c87d4376a8 optimize size and time using "--no-cache-dir"
Using "--no-cache-dir" flag in pip install ,make sure dowloaded packages
by pip don't cached on system . This is a best practise which make sure
to fetch ftom repo instead of using local cached one . Further , in case
of Docker Containers , by restricing caching , we can reduce image size.
In term of stats , it depends upon the number of python packages
multiplied by their respective size . e.g for heavy packages with a lot
of dependencies it reduce a lot by don't caching pip packages.

Further , more detail information can be found at

https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6
2020-07-25 13:26:52 +05:30
Adin Scannell 5a6a84bb53 Convert go_generics tests to starlark.
For some reason these tests were broken when run via the bazel docker
container. The mechanism used was a bit crazy (self-extracting bundle),
so convert them to use straight-forward starlark rules. This has the
added advantaged that they are now independent tests.
2020-07-23 18:00:12 -07:00
Adin Scannell 01b4cd6c11 Adapt website to use g3doc sources and bazel.
This adapts the merged website repository to use the image and bazel
build framework. It explicitly avoids the container_image rules provided
by bazel, opting instead to build with direct docker commands when
necessary.

The relevant build commands are incorporated into the top-level
Makefile.
2020-05-06 14:15:18 -07:00
Adin ScannellandgVisor bot e4cf551982 Standardize all Docker images.
This change moves all Docker images to a standard location, and abstracts the
build process so that they can be maintained in an automated fashion. This also
allows the images to be architecture-independent.

All images will now be referred to by the test framework via the canonical
`gvisor.dev/images/<name>`, where `<name>` is a function of the path within the
source tree.

In a subsequent change, continuous integration will be added so that the images
will always be correct and available locally.

In the end, using `bazel` for Docker containers is simply not possible. Given
that we already have the need to use `make` with the base container (for
Docker), we extend this approach to get more flexibility.

This change also adds a self-documenting and powerful Makefile that is intended
to replace the collection of scripts in scripts. Canonical (self-documenting)
targets can be added here for targets that understand which images need to be
loaded and/or built.

PiperOrigin-RevId: 308322438
2020-04-24 14:11:42 -07:00