2021-11-19 12:42:53 +00:00
name : Build
on :
pull_request :
branches :
- master
types : [ opened, synchronize]
paths-ignore :
- 'scripts/**'
- '**/*.md'
workflow_dispatch :
2021-12-03 09:22:48 +00:00
inputs :
ref :
description: 'Ref to build CLI for Ubuntu and Windows Server Core [default: latest master; examples : v0.92.0, 0a4ff9d3e4a9ab432fd5812eb18c98e03b5a7432]'
required : false
default : ''
2021-11-19 12:42:53 +00:00
env :
GO111MODULE : "on"
jobs :
build_cli_ubuntu :
name : Build CLI (Ubuntu)
runs-on : ubuntu-20.04
steps :
- uses : actions/checkout@v2
with :
2021-12-03 09:22:48 +00:00
ref : ${{ github.event.inputs.ref }}
# Allows to fetch all history for all branches and tags. Need this for proper versioning.
2021-11-19 12:42:53 +00:00
fetch-depth : 0
- name : Set up Go
uses : actions/setup-go@v2
with :
2022-02-22 16:37:27 +00:00
go-version : 1.18
2021-11-19 12:42:53 +00:00
- name : Restore Go modules from cache
uses : actions/cache@v2
with :
path : /home/runner/go/pkg/mod
key : deps-${{ hashFiles('go.sum') }}
- name : Update Go modules
run : go mod download -json
- name : Build CLI
run : make build
2021-12-03 08:41:15 +00:00
- name : Upload artifact
uses : actions/upload-artifact@v2
with :
name : neo-go-binaries-ubuntu
path : ./bin/neo-go
if-no-files-found : error
2021-11-19 12:23:51 +00:00
build_cli_wsc :
name : Build CLI (Windows Server Core)
runs-on : windows-2022
2021-11-19 12:42:53 +00:00
steps :
- uses : actions/checkout@v2
with :
2021-12-03 09:22:48 +00:00
ref : ${{ github.event.inputs.ref }}
2021-11-19 12:42:53 +00:00
fetch-depth : 0
- name : Set up Go
uses : actions/setup-go@v2
with :
2022-02-22 16:37:27 +00:00
go-version : 1.18
2021-11-19 12:42:53 +00:00
- name : Restore Go modules from cache
uses : actions/cache@v2
with :
path : /home/runner/go/pkg/mod
key : deps-${{ hashFiles('go.sum') }}
- name : Update Go modules
run : go mod download -json
- name : Build CLI
run : make build
2021-12-03 08:41:15 +00:00
- name : Upload artifact
uses : actions/upload-artifact@v2
with :
name : neo-go-binaries-wsc
path : ./bin/neo-go.exe
if-no-files-found : error
2021-11-19 12:23:51 +00:00
build_image_ubuntu :
2021-11-19 12:42:53 +00:00
needs : build_cli_ubuntu
2021-11-19 12:23:51 +00:00
name : Build Docker image (Ubuntu)
2021-11-19 12:42:53 +00:00
runs-on : ubuntu-20.04
steps :
- uses : actions/checkout@v2
with :
2021-12-03 09:22:48 +00:00
ref : ${{ github.event.inputs.ref }}
2021-11-19 12:42:53 +00:00
fetch-depth : 0
2022-02-22 16:37:27 +00:00
# For proper `deps` make target execution.
- name : Set up Go
uses : actions/setup-go@v2
with :
go-version : 1.18
2021-11-19 12:42:53 +00:00
- name : Build Docker image
run : make image
2021-11-19 12:23:51 +00:00
build_image_wsc :
needs : build_cli_wsc
name : Build Docker image (Windows Server Core)
runs-on : windows-2022
steps :
- uses : actions/checkout@v2
with :
2021-12-03 09:22:48 +00:00
ref : ${{ github.event.inputs.ref }}
2021-11-19 12:23:51 +00:00
fetch-depth : 0
2022-02-22 16:37:27 +00:00
# For proper `deps` make target execution.
- name : Set up Go
uses : actions/setup-go@v2
with :
go-version : 1.18
2021-11-19 12:23:51 +00:00
- name : Build Docker image
2022-03-25 13:08:13 +00:00
run : make image
2022-03-25 08:19:51 +00:00
build_privnet_image_ubuntu :
needs : build_cli_ubuntu
name : Build privnet Docker image (Ubuntu)
runs-on : ubuntu-20.04
steps :
- uses : actions/checkout@v2
with :
ref : ${{ github.event.inputs.ref }}
fetch-depth : 0
# For proper `deps` make target execution.
- name : Set up Go
uses : actions/setup-go@v2
with :
go-version : 1.18
# For information purposes.
- name : Print Docker version
run : docker --version
- name : Build privnet Docker image
run : make env_image
2022-03-25 13:08:37 +00:00
build_privnet_image_wsc :
needs : build_cli_wsc
name : Build privnet Docker image (Windows Server Core)
runs-on : windows-2022
steps :
- uses : actions/checkout@v2
with :
ref : ${{ github.event.inputs.ref }}
fetch-depth : 0
# For proper `deps` make target execution.
- name : Set up Go
uses : actions/setup-go@v2
with :
go-version : 1.18
# For information purposes.
- name : Print Docker version
run : docker --version
- name : Build privnet Docker image
run : make env_image