mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 00:13:15 +01:00
* feat: update golang to 1.19 Signed-off-by: Bradley Jones <bradley.jones@anchore.com> * chore: break out json schema drift check into separate script Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * chore: update git index refresh Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com> --------- Signed-off-by: Bradley Jones <bradley.jones@anchore.com> Signed-off-by: Alex Goodman <alex.goodman@anchore.com> Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com>
82 lines
2.6 KiB
YAML
82 lines
2.6 KiB
YAML
name: "Bootstrap"
|
|
description: "Bootstrap all tools and dependencies"
|
|
inputs:
|
|
go-version:
|
|
description: "Go version to install"
|
|
required: true
|
|
default: "1.19.x"
|
|
use-go-cache:
|
|
description: "Restore go cache"
|
|
required: true
|
|
default: "true"
|
|
cache-key-prefix:
|
|
description: "Prefix all cache keys with this value"
|
|
required: true
|
|
default: "831180ac25"
|
|
build-cache-key-prefix:
|
|
description: "Prefix build cache key with this value"
|
|
required: true
|
|
default: "f8b6d31dea"
|
|
bootstrap-apt-packages:
|
|
description: "Space delimited list of tools to install via apt"
|
|
default: "libxml2-utils"
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- uses: actions/setup-go@v3
|
|
with:
|
|
go-version: ${{ inputs.go-version }}
|
|
|
|
- name: Restore tool cache
|
|
id: tool-cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ${{ github.workspace }}/.tmp
|
|
key: ${{ inputs.cache-key-prefix }}-${{ runner.os }}-tool-${{ hashFiles('Makefile') }}
|
|
|
|
# note: we need to keep restoring the go mod cache before bootstrapping tools since `go install` is used in
|
|
# some installations of project tools.
|
|
- name: Restore go module cache
|
|
id: go-mod-cache
|
|
if: inputs.use-go-cache == 'true'
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/go/pkg/mod
|
|
key: ${{ inputs.cache-key-prefix }}-${{ runner.os }}-go-${{ inputs.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ inputs.cache-key-prefix }}-${{ runner.os }}-go-${{ inputs.go-version }}-
|
|
|
|
- name: (cache-miss) Bootstrap project tools
|
|
shell: bash
|
|
if: steps.tool-cache.outputs.cache-hit != 'true'
|
|
run: make bootstrap-tools
|
|
|
|
- name: Restore go build cache
|
|
id: go-cache
|
|
if: inputs.use-go-cache == 'true'
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/.cache/go-build
|
|
key: ${{ inputs.cache-key-prefix }}-${{ inputs.build-cache-key-prefix }}-${{ runner.os }}-go-${{ inputs.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ inputs.cache-key-prefix }}-${{ inputs.build-cache-key-prefix }}-${{ runner.os }}-go-${{ inputs.go-version }}-
|
|
|
|
- name: (cache-miss) Bootstrap go dependencies
|
|
shell: bash
|
|
if: steps.go-mod-cache.outputs.cache-hit != 'true' && inputs.use-go-cache == 'true'
|
|
run: make bootstrap-go
|
|
|
|
- name: Install apt packages
|
|
if: inputs.bootstrap-apt-packages != ''
|
|
shell: bash
|
|
run: |
|
|
DEBIAN_FRONTEND=noninteractive sudo apt update && sudo -E apt install -y ${{ inputs.bootstrap-apt-packages }}
|
|
|
|
- name: Create all cache fingerprints
|
|
shell: bash
|
|
run: make fingerprints
|
|
|