Ci action #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "1.21" | |
- name: Set up Helm | |
uses: azure/setup-helm@v4 | |
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.21"] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: setup golang ${{ matrix.go-version }} | |
uses: actions/setup-go@v5 | |
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 |