Commit graph

31 commits

Author SHA1 Message Date
Anna Shaleva
0760e5486b dockerfile: reduce build time for WSC-based image
Turns out that caching the golang:windowsservercore-ltsc2022 image between
GithubAction workflow runs is a bad idea because `docker load` command still takes
too long to load image from cached archive (~9-10min on standard windows runner).
And after that runner still needs to build the neo-go image itself.

However, standard GA windows runner is supplied with prefetched latest
mcr.microsoft.com/windows/servercore:ltsc2022 image, so using it costs almost
nothing. Thus, the other approach is implemented: we use standard
mcr.microsoft.com/windows/servercore:ltsc2022 image as both build-base and
final-base. Then we install all required tools for building neo-go manually
on build-base image (these tools are git and go 1.17). Compared to the first
approach, the publishing job (included build and publish to DockerHub)
takes ~7-8min to finish.
2022-02-10 18:58:50 +03:00
Anna Shaleva
2cf15ea4e3 github: fix publishing job for WSC image
Close #2277.
2022-02-10 18:58:50 +03:00
Roman Khimov
8dcfb19a1c
Merge pull request #2341 from nspcc-dev/cli/tests
cli: improve coverage
2022-02-02 14:41:03 +03:00
Anna Shaleva
4ea0aef9d5 github: update coverage job
See https://github.com/codecov/codecov-action#%EF%B8%8F--deprecration-of-v1
2022-02-02 13:48:17 +03:00
Evgeniy Stratonikov
6b152daf7e .github: check dependencies versions
Rebasing or altering commits in other way is a common thing,
so it makes sense to ensure dependencies are also updated.

Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
2022-01-25 12:55:39 +03:00
Anna Shaleva
70d00a6f98 .github: simplify checkout process
We don't need separate steps for manual and automatic checkout, the
default ref value can be habdled by checkout@v2 itself.
2021-12-03 12:25:10 +03:00
Anna Shaleva
4a410f4898 .github: allow to trigger Build workflow manually 2021-12-03 12:22:48 +03:00
Anna Shaleva
b602c9d3a0 .github: upload binaries for Build workflows 2021-12-03 12:20:45 +03:00
AnnaShaleva
5ef9f4498e .github: add job to publish image for WSC
Also, remove Go setup from publishing jobs because we don't need Go on runner.
2021-11-29 11:13:54 +03:00
AnnaShaleva
d2d75b8ba5 .github: unify Tests workflow 2021-11-29 11:13:49 +03:00
AnnaShaleva
e64a617844 .github: add action to build WSC image 2021-11-29 11:11:09 +03:00
AnnaShaleva
b940167a6b .github: create separate workflow to build CLI/image
There's too much jobs in Tests workflow, so we can split them into several parts.
2021-11-29 11:11:09 +03:00
AnnaShaleva
f97f6168fc .github: remove golang from build_image job
We're building inside Docker container, so we don't need golang to
be installed on the host machine.
2021-11-29 11:11:09 +03:00
AnnaShaleva
7770535d4f .github: add job to build binaries on Windows 2021-11-29 11:11:09 +03:00
AnnaShaleva
ebd128ee79 .github: add windows-based tests workflow 2021-11-29 11:11:09 +03:00
Anna Shaleva
a512db4797 .github: update ubuntu image for test workflows 2021-11-09 14:02:22 +03:00
Roman Khimov
2585713f31 *: use Go 1.17 by default, test with 1.15, 1.16 and 1.17 2021-08-26 17:30:04 +03:00
Roman Khimov
ad5acf4873 *: drop Go 1.14 2021-08-25 14:59:00 +03:00
Roman Khimov
50cb0450f2 circleci/workflows: drop vet run
golangci-lint already includes govet, so having it in a separate task doesn't
add any value (only increases CI running time).
2021-05-13 00:08:42 +03:00
Roman Khimov
c76f8b8fbe Makefile: use golangci-lint instead of golint
It includes golint and also has a lot of other useful linters.
2021-05-12 23:38:35 +03:00
Roman Khimov
2bc5f72523
experimental codeql workflow 2021-04-15 17:29:00 +03:00
Anna Shaleva
cc112e1a89 *: add go 1.16 support 2021-03-02 14:04:35 +03:00
Anna Shaleva
5bd809f9c8 *: drop go 1.13 support 2021-03-01 14:56:49 +03:00
Roman Khimov
347212c0c5
Merge pull request #1781 from nspcc-dev/ci-tests
github: add tests workflow
2021-03-01 11:34:26 +03:00
Anna Shaleva
552ab1f8fe github: add tests workflow 2021-02-26 17:53:31 +03:00
Roman Khimov
d33291c377
Merge pull request #1780 from nspcc-dev/ci-cache-fix
github: fix go mod cache
2021-02-26 14:04:57 +03:00
Anna Shaleva
a26791ea5a github: fix go mod cache
* Fix cache folder
* Verbose `go mod download`
2021-02-26 12:10:10 +03:00
Anna Shaleva
dc610cdb7c github: tag as 'latest' only released images 2021-02-25 18:38:59 +03:00
Anna Shaleva
d628b6a33d github: allow to publish image from any ref
It will help us to publish previous releases or intermediate refs.
2021-02-25 16:52:25 +03:00
Anna Shaleva
a1245cd381 github: publish only released images 2021-02-25 14:54:14 +03:00
Anna Shaleva
7dfdbcd456 github: setup github workflow to publish to DockerHub
This workflow tags and publishes images to Dockerhub:
   * Every `push` to `master` branch
   * Every release

For successful workflow runs the following secrets need to be set in the
repository `Secrets` section:
   * `DOCKERHUB_USERNAME` - the username to publish images to DockerHub
   * `DOCKERHUB_PASSWORD` - the password of `DOCKERHUB_USERNAME`
2021-02-25 13:49:59 +03:00