Commit graph

88 commits

Author SHA1 Message Date
Anna Shaleva
613f6e4350 Makefile: allow to build privnet image for WSC
1. Build privnet image for WSC.
2. Automatically define OS to build image and privnet image.
3. Unify image building code for Ubuntu and WSC.
2022-03-28 15:15:08 +03:00
Anna Shaleva
be14d8325b github: add job to check Ubuntu privnet image build
Related to
https://github.com/nspcc-dev/neo-go/pull/2408#pullrequestreview-921289314.
2022-03-25 16:09:25 +03:00
Roman Khimov
13999252c6
Merge pull request #2403 from nspcc-dev/extend-publish
github: add ability to manually trigger publishing workflow with `latest` tag
2022-03-21 18:41:43 +03:00
AnnaShaleva
f2b160444e github: add ability to manually trigger publishing workflow with latest tag
In case if something goes wrong during release version publishing.
2022-03-21 18:31:38 +03:00
AnnaShaleva
d416ae336f github: adjust Docker image publishing workflows 2022-03-21 16:39:27 +03:00
Anna Shaleva
e8d15b1b7e workflows: upgrade supported go version 2022-03-18 11:09:30 +03:00
Evgeniy Stratonikov
6787db8a62 .github: extend interop deps check
Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
2022-03-15 17:15:40 +03:00
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