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-latest if: "!contains(github.event.pull_request.labels.*.name, 'skip-ci')" steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 with: go-version: "1.25" - name: Set up Helm uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1 with: version: v3.18.2 - name: build rook run: | GOPATH=$(go env GOPATH) make clean && make -j$nproc 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: 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-22.04 if: "!contains(github.event.pull_request.labels.*.name, 'skip-ci')" strategy: fail-fast: false matrix: go-version: ["1.25"] steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: setup golang ${{ matrix.go-version }} uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 with: go-version: ${{ matrix.go-version }} - name: set up QEMU uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # master with: platforms: all - name: build.all rook with go ${{ matrix.go-version }} run: | tests/scripts/github-action-helper.sh build_rook_all