aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-env
Commit message (Collapse)AuthorAgeFilesLines
* tools/syz-env: support GOPROXY environment variableBjoern Doebel2025-11-191-0/+1
| | | | | | | | | | Working in a firewalled environment where Go proxy services are blocked. To work around this, we need to set GORPOXY=direct in order to make go builds download packages directly from source rather than using a proxy. Support such setups by passing the user's GOPROXY setting into the syz-env Docker container. Signed-off-by: Bjoern Doebel <doebel@amazon.de>
* tools/syz-env: consider HTTP proxy environment variablesStefan Wiehler2024-11-291-1/+14
| | | | | | In extension of commit 326f9c5a1cae ("tools/syz-env: export https_proxy to docker in case behind proxy"), cover further HTTP proxy environment variables and the Docker build process.
* tools/syz-env: add local build optionStefan Wiehler2024-11-291-3/+10
| | | | Useful for testing local Dockerfile changes that have not been pushed yet.
* tools/syz-env: export https_proxy to docker in case behind proxyJoey Jiao2024-09-031-0/+1
|
* Revert "tools/syz-env: allow commands with double quote in parameters"Taras Madan2024-07-181-1/+1
| | | | This reverts commit 0b280217382f718e910b700169a0b8d12b2d7026.
* tools/syz-env: allow commands with double quote in parametersTaras Madan2024-07-181-1/+1
|
* makefile: silence syz-env hint on CITaras Madan2024-02-281-1/+0
|
* all: remove mentions of big-envAleksandr Nogikh2023-07-121-3/+1
| | | | Use just env instead of that.
* syz-env: don't invoke docker with --user in rootless modeAndrew Donnellan2023-04-031-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Docker now supports rootless mode, which allows you to run your dockerd as a non-root user. This is helpful for security, as traditional rootful Docker can trivially be used to obtain root privileges outside of a container. Rootless Docker is implemented using RootlessKit (a fancy version of fakeroot that uses user namespaces) to create a new user namespace that maps the uid of the user running dockerd to 0. Files in mounted volumes that are owned by that user will appear in the container as belonging to root. Currently, syz-env invokes "docker run" with --user to set the uid inside the container to match the user's uid outside the container, to ensure that file ownership and permissions behave as expected. This breaks under rootless mode, as the files will appear to be owned by root while the user has a non-root uid. Only add the --user flag if the Docker daemon is not running in rootless mode. If running in rootless mode, run without --user so that the user appears to be root inside the container. Closes: #3765 ("syz-env: uid/permissions issues when running with rootless Docker") Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
* tools/syz-env: fix volume labels in SELinux environment (#3437)Taras Madan2022-10-131-3/+3
| | | https://docs.docker.com/storage/bind-mounts/#configure-the-selinux-label
* tools/syz-env: auto update (#3432)Taras Madan2022-10-111-0/+3
| | | always pull latest syz-env version if available
* make: print warning when make is executed without syz-envSpace Meyer2022-10-111-0/+1
|
* tools/syz-env: automatically remove the container on exit (#2900)Taras Madan2021-12-011-0/+1
| | | | To see you garbage containers, call "docker ps -a". To clean your system, use "docker container prune". In my case ~9GB.
* tools/docker: add old-envDmitry Vyukov2020-08-221-0/+2
| | | | | | | old-env is based on Ubuntu 16.04 and allows to test executor build on older distributions. Fixes #2055
* tools/check-commits.sh: fix commit range detectionDmitry Vyukov2020-08-051-0/+2
| | | | | | | | | | | | We currently check from github.event.pull_request.base.sha to github.event.pull_request.head.sha, but they may be in different branches if the PR commits are branched not from the latest master HEAD (at the time of PR creation). Then GH will create a merge commit, and the range we try to check is not valid. Check github.event.pull_request.commits commits backwards from github.event.pull_request.head.sha commit.
* .github/workflows: check commit description formatDmitry Vyukov2020-07-311-0/+1
| | | | | Check PR commit subjects for the standard format we use "pkg/name: description of the change". Check PR commit bodies for at most 120 characters.
* tools: add syz-big-envDmitry Vyukov2020-06-021-1/+5
| | | | | | | | On top of syz-env it provides akaros/fuchsia/netbsd toolchains and gcloud sdk. With this it's possible to run dashboard/app tests on CI and locally and test executor build and pkg/{csource,cover} for these OSes. Update #1765
* tools: add syz-envDmitry Vyukov2020-05-181-0/+65
| | | | | | | | | | | syz-env provides a canned dev environment with all tools necessary (Go, gcc, clang-format, etc) for development/testing in a form of a Docker image. Example use: $ syz-env make presubmit $ syz-env make extract SOURCEDIR=~/linux Update #1699
* tools/syz-make: rename from syz-envDmitry Vyukov2020-05-181-76/+0
| | | | | | syz-env will be a good, short name for the planned docker-ized build environment. So rename syz-env to syz-make. Maybe not the best name, but it's not visible basically anywhere.
* Get rid of "Cross" in variable namesAlexander Potapenko2020-05-131-2/+2
| | | | | | | | | Renamed Target.BrokenCrossCompiler to Target.BrokenCompiler and Target.CrossCFlags to Target.CFlags "Everything in Target is about Cross now." Signed-off-by: Alexander Potapenko <glider@google.com>
* sys/targets: better detection for missing/broken cross-compilersDmitry Vyukov2020-04-291-15/+19
| | | | | | | | | | | | | | 1. Detect when compiler is present, but is not functioning (can't build a simple program, common for Linux distros). 2. Be more strict with skipping tests due to missing/broken compilers on CI (on CI they should work, so fail loudly if not). 3. Dedup this logic across syz-env and pkg/csource tests. 4. Add better error reporting for syz-env. Fixes #1606
* tools/syz-env: restrict Makefile parallelism based on RAMDmitry Vyukov2019-07-191-1/+12
| | | | | | | Ensure that we have at least 1GB per Makefile job. Go compiler/linker can consume significant amount of memory (observed to consume at least 600MB). See #1276 for context. Update #1276
* Makefile: don't cross-compile executor if cross-compiler is missingDmitry Vyukov2019-01-241-0/+7
| | | | | | | | We started building netbsd executor on linux. This fails on CI since cross-compiler is missing. But we don't want to exclude netbsd from presubmit entirely. So check if cross-compiler is missing and just produce a warning. This should unbreak CI and humans will see the warning.
* sys/targest: introduce target.BuildOSDmitry Vyukov2018-11-171-0/+2
| | | | | | | | We can't cross-compile native binaries from just any OS to any other. For most OSes we can do only native compilation. Some can only be compiled from linux. To date we avoided this problem completely (mostly assumed linux build OS). Make this notion of what can build what explicit.
* Makefile, sys/targets: move all native compilation logic to sys/targetsDmitry Vyukov2018-06-061-0/+52
We currently have native cross-compilation logic duplicated in Makefile and in sys/targets. Some pieces are missed in one place, some are in another. Only pkg/csource knows how to check for -static support. Move all CC/CFLAGS logic to sys/targets and pull results in Makefile. This should make Makefile work on distros that have broken x86_64-linux-gnu-gcc, now we will use just gcc. And this removes the need to define NOSTATIC, as it's always auto-detected. This also paves the way for making pkg/csource work on OSes other than Linux.