Files
my-rook-config/.github/workflows/build.yml
T
harshitasao c6ab1f2ba3 ci: github workflows pin dependencies
The openSSF scorecard report warns that the github workflows are not pinned by hash.

This PR aims at improving this by pinning the github workflows by hash.

Signed-off-by: harshitasao <harshitasao@gmail.com>
2024-08-15 18:17:30 +05:30

94 lines
2.7 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: "1.22"
- name: Set up Helm
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
with:
version: v3.6.2
- name: build rook
run: |
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: 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.22"]
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- name: setup golang ${{ matrix.go-version }}
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: ${{ matrix.go-version }}
- name: set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # master
with:
platforms: all
- name: build.all rook with go ${{ matrix.go-version }}
run: |
tests/scripts/github-action-helper.sh build_rook_all