The build and release actions will rarely ever need to be debugged. To make them more efficient and reduce their runtime, we remove the tmate action so it won't add 10 unnecessary minutes to the end of the action. Signed-off-by: travisn <tnielsen@redhat.com>
100 lines
2.8 KiB
YAML
100 lines
2.8 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}
|
|
|
|
# cancel the in-progress workflow when PR is refreshed.
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
macos-build:
|
|
runs-on: macos-12
|
|
if: "!contains(github.event.pull_request.labels.*.name, 'skip-ci')"
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: actions/setup-go@v4
|
|
with:
|
|
go-version: "1.20"
|
|
|
|
- name: Set up Helm
|
|
uses: azure/setup-helm@v3
|
|
with:
|
|
version: v3.6.2
|
|
|
|
- name: build rook
|
|
run: |
|
|
# Install kubectl binary as required for generating csv
|
|
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
|
|
chmod +x ./kubectl
|
|
sudo mv ./kubectl /usr/local/bin/kubectl
|
|
sudo chown root: /usr/local/bin/kubectl
|
|
|
|
GOPATH=$(go env GOPATH) make clean && make -j$nproc IMAGES='ceph' BUILD_CONTAINER_IMAGE=false build
|
|
|
|
- name: validate build
|
|
run: tests/scripts/validate_modified_files.sh build
|
|
|
|
- name: run codegen
|
|
run: GOPATH=$(go env GOPATH) make codegen
|
|
|
|
- name: validate codegen
|
|
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
|
|
run: make csv-clean && GOPATH=$(go env GOPATH) make crds
|
|
|
|
- name: validate crds-gen
|
|
run: tests/scripts/validate_modified_files.sh crd
|
|
|
|
- name: run gen-rbac
|
|
run: GOPATH=$(go env GOPATH) make gen-rbac
|
|
|
|
- name: validate gen-rbac
|
|
run: tests/scripts/validate_modified_files.sh gen-rbac
|
|
|
|
linux-build-all:
|
|
runs-on: ubuntu-20.04
|
|
if: "!contains(github.event.pull_request.labels.*.name, 'skip-ci')"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
go-version: ["1.20"]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup golang ${{ matrix.go-version }}
|
|
uses: actions/setup-go@v4
|
|
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
|