When running from forks results would need to be uploaded as artifacts
and separately parsed. This is no longer true when running as a
scheduled job and we can therefore fix and get a speedup by reading the
results straight from the workspace.
- remove hive run from CI yaml
- create nightly hive yaml which runs hive at 1am each day on a hosted
runner (can move to self hosted if needs be in future)
self hosted runners queue jobs and don't execute more than one job
at once, which leads to a huge pile-up in the case of the 1.5hr hive run
if not running on PR we can co-locate the jobs in the same workflow
Use the automatically provided GITHUB_TOKEN secret.
Currently only has the default permissions which should let
it read the tag as needed.
Commented permissions would allow it to also automatically write
a github release, but will see if it works without that for now
for minimimum change.
Upstreams the improvement from the maticnetwork/erigon fork
to add a goreleaser workflow that will build and release
a docker image for both arm and amd64.
* feat(hive): reduce output verbosity in CI
* feat(hive): run hive and parse as one to always generate output
* feat(hive): add exclusions (wip) and single step CI
* Patch plumbing of docker-compose UID/GID build args
* Fallback to 1000/1000 if DOCKER_(U|G)ID not set
* Revise README.md instructions for docker further
* Fix existing typo forc 'servie' -> 'service'
* Rename PUID/GUID -> UID/GID
* Specify user in erigon docker service
* Rely on .env instead of specifying :-1000
* Polish Makefile for docker use case
* one more helpful comment
* make docker should use UID/GID --build-arg
* Fix make docker and more fail-fast if envvar set incorrect
* mv .env->.env.example to not intefere existing workflows
* Specify envvars in docker CI
* Adjust validate_docker_build_args to permit non-erigon user
* Also run docker CI target on macos-11 os
* Add DOCKER_UID, DOCKER_GID in hooks/build
* Patch docker build arg validation for macos
* Add actions-setup-docker@master for macos
* Don't run automated test for docker macos
* Cleanup Makefile
* Comments, targets for erigon users
* More Makefile cleanup, debugging still
* Typo fix
* Create subdirs before calling ls
* Get rid of flaky validation
* DOCKER_UID, DOCKER_GID init to runner if not set
* Get rid of unnecessary variable for now
* Improved README based on new changes
* Proper uid/gid `make user_*` when no envars set
* Fix typo in Makefile comment
* Fix make docker as sudo user
Dockerfile requires some --build-arg options.
Fix "docker" target to pass them.
Fix GIT_TAG to reflect the most recent tag related to HEAD, instead of an unrelated most recent tag.
Use it as the image VERSION.
Image tags need to be passed explicitly if needed:
DOCKER_FLAGS='-t erigon:latest' make docker
* list "all" targets explicitly
* add missing targets
* add missing build flags
* add test-integration target
* show tests output
* use wmake test on CI
* update submodules for all targets (like Makefile)
* remove unused function Test-Administrator
Cache "go-build" containing cached build artifacts from the Go build system.
This saves up to:
- 6 min on Linux (from 10 min to 4 min)
- 3 min on macOS (from 13 min to 10 min)
- 7 min on Windows (from 27 min to 20 min)
Cache Windows deps (mingw, cmake).
This saves 6,5 min on Windows builds (from 20 min to 13,5 min)
Running on PR close event tests the PR commit, not the final merged commit.
The final commit is tested by "push" event, but it appears as "skipped" in the list of devel ccmmits,
because "push" event was skipped by "if".