forked from rook/rook
Use yq instead of Python for parsing RBAC from the Helm chart. We need
to use yq v4.14.1 or higher to fix yq's handling of the yaml header
markers ('---'). Update the Makefile's yq version to v4, which also
requires updating the script to update the CRDs. This was quite easy.
It is very difficult, however, to change the version of yq used by the
CSV generating/parsing scripts, which already used their own yq
download. Continue using yq v3 for this.
In order to make sure the scripts are using the right version of yq, add
basic validation to them to verify they are running v3 or v4 as required
for their operation.
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
100 lines
2.9 KiB
YAML
100 lines
2.9 KiB
YAML
name: Builds
|
|
on:
|
|
pull_request:
|
|
|
|
defaults:
|
|
run:
|
|
# reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
|
|
shell: bash --noprofile --norc -eo pipefail -x {0}
|
|
|
|
jobs:
|
|
macos-build:
|
|
runs-on: macos-10.15
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.16
|
|
|
|
- name: copy working directory to GOPATH
|
|
run: sudo mkdir -p /Users/runner/go/src/github.com && sudo cp -a /Users/runner/work/rook /Users/runner/go/src/github.com/
|
|
|
|
- name: build rook
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: |
|
|
GOPATH=$(go env GOPATH) make clean && make -j$nproc IMAGES='ceph' BUILD_CONTAINER_IMAGE=false build
|
|
|
|
- name: validate build
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: tests/scripts/validate_modified_files.sh build
|
|
|
|
- name: run codegen
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: GOPATH=$(go env GOPATH) make codegen
|
|
|
|
- name: validate codegen
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: tests/scripts/validate_modified_files.sh codegen
|
|
|
|
- name: run mod check
|
|
run: GOPATH=$(go env GOPATH) make -j $(nproc) mod.check
|
|
|
|
- name: validate modcheck
|
|
run: tests/scripts/validate_modified_files.sh modcheck
|
|
|
|
- name: run crds-gen
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: make csv-clean && GOPATH=$(go env GOPATH) make crds
|
|
|
|
- name: validate crds-gen
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: tests/scripts/validate_modified_files.sh crd
|
|
|
|
- name: run gen-rbac
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: GOPATH=$(go env GOPATH) make gen-rbac
|
|
|
|
- name: validate gen-rbac
|
|
working-directory: /Users/runner/go/src/github.com/rook/rook
|
|
run: tests/scripts/validate_modified_files.sh gen-rbac
|
|
|
|
- name: setup tmate session for debugging
|
|
if: failure()
|
|
uses: mxschmitt/action-tmate@v3
|
|
timeout-minutes: 60
|
|
|
|
linux-build-all:
|
|
runs-on: ubuntu-18.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
go-version : ['1.16', '1.17']
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup golang ${{ matrix.go-version }}
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
|
|
- name: set up QEMU
|
|
uses: docker/setup-qemu-action@master
|
|
with:
|
|
platforms: all
|
|
|
|
- name: build.all rook with go ${{ matrix.go-version }}
|
|
run: |
|
|
tests/scripts/github-action-helper.sh build_rook_all
|
|
|
|
- name: setup tmate session for debugging
|
|
if: failure()
|
|
uses: mxschmitt/action-tmate@v3
|
|
timeout-minutes: 60
|