name: Build on: pull_request: branches: - master types: [opened, synchronize] paths-ignore: - 'scripts/**' - '**/*.md' workflow_dispatch: inputs: ref: description: 'Ref to build CLI for Ubuntu and Windows Server Core [default: latest master; examples: v0.92.0, 0a4ff9d3e4a9ab432fd5812eb18c98e03b5a7432]' required: false default: '' env: GO111MODULE: "on" jobs: build_cli: name: Build CLI runs-on: ${{matrix.os}} strategy: matrix: os: [ubuntu-20.04, windows-2022] steps: - uses: actions/checkout@v2 with: ref: ${{ github.event.inputs.ref }} # Allows to fetch all history for all branches and tags. Need this for proper versioning. fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.18 - 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 - name: Upload artifact uses: actions/upload-artifact@v2 with: name: neo-go-binaries path: ./bin/neo-go* if-no-files-found: error build_image: needs: build_cli name: Build Docker image runs-on: ${{matrix.os}} strategy: matrix: os: [ubuntu-20.04, 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 - name: Build Docker image run: make image build_privnet_image: needs: build_cli name: Build privnet Docker image runs-on: ${{matrix.os}} strategy: matrix: os: [ubuntu-20.04, 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