Skip to content

Commit

Permalink
Merge pull request #4 from parth-gr/ci-action
Browse files Browse the repository at this point in the history
Ci action
  • Loading branch information
parth-gr authored Apr 3, 2024
2 parents 71b3728 + fdf320d commit 41f766c
Show file tree
Hide file tree
Showing 5 changed files with 123 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/workflows/push-build-downstream.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Push Image Build Downstream
on:
push:
branches:
- master
- release-*
tags:
- v*
pull_request:
branches:
- master

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}

permissions:
contents: read

jobs:
push-image-to-container-registry:
runs-on: ubuntu-latest
if: github.repository == 'parth-gr/rook'
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-go@v5
with:
go-version: "1.21"

# docker/setup-qemu action installs QEMU static binaries, which are used to run builders for architectures other than the host.
- name: set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all

- name: log in to container registry
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_OCS_DEV_ROBOT_USER }}
password: ${{ secrets.QUAY_OCS_DEV_ROBOT_PASSWORD }}

# creating custom env var
- name: set env
run: |
echo "BRANCH_NAME=${GITHUB_REF##*/}" >> $GITHUB_ENV
echo "GITHUB_SHA=${GITHUB_SHA}" >> $GITHUB_ENV
- name: build and release
env:
BRANCH_NAME: ${{ env.BRANCH_NAME }}
GITHUB_SHA: $ {{ env.GITHUB_SHA }}
run: |
tests/scripts/build-release-downstream.sh
10 changes: 10 additions & 0 deletions deploy/charts/library/templates/_cluster-role.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -132,4 +132,14 @@ rules:
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "update", "delete", "list"]
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rook-ceph-default
namespace: {{ .Release.Namespace }} # namespace:cluster
rules:
- apiGroups: [""]
resources: [""]
verbs: [""]
{{- end }}
14 changes: 14 additions & 0 deletions deploy/charts/library/templates/_cluster-rolebinding.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,18 @@ subjects:
- kind: ServiceAccount
name: rook-ceph-purge-osd
namespace: {{ .Release.Namespace }} # namespace:cluster
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rook-ceph-default
namespace: {{ .Release.Namespace }} # namespace:cluster
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: rook-ceph-default
subjects:
- kind: ServiceAccount
name: rook-ceph-default
namespace: {{ .Release.Namespace }} # namespace:cluster
{{- end }}
24 changes: 24 additions & 0 deletions deploy/examples/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,16 @@ rules:
- update
- delete
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rook-ceph-default
namespace: rook-ceph # namespace:cluster
rules:
- apiGroups: [""]
resources: [""]
verbs: [""]
---
# Aspects of ceph-mgr that operate within the cluster's namespace
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
Expand Down Expand Up @@ -1036,6 +1046,20 @@ subjects:
name: rook-ceph-cmd-reporter
namespace: rook-ceph # namespace:cluster
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rook-ceph-default
namespace: rook-ceph # namespace:cluster
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: rook-ceph-default
subjects:
- kind: ServiceAccount
name: rook-ceph-default
namespace: rook-ceph # namespace:cluster
---
# Allow the ceph mgr to access resources scoped to the CephCluster namespace necessary for mgr modules
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
Expand Down
16 changes: 16 additions & 0 deletions tests/scripts/build-release-downstream.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -ex

# Load dot env file if available
if [ -f .env ]; then
# shellcheck disable=SC2046
export $(grep -v '^#' .env | xargs -d '\n')
fi

MAKE='make --debug=v --output-sync'
$MAKE build BUILD_REGISTRY=local
build_Image="local/ceph-amd64:latest"
git_hash=$(git rev-parse --short "${GITHUB_SHA}")
tag_Image=quay.io/ocs-dev/rook-ceph:v${BRANCH_NAME}-$git_hash
docker tag "$build_Image" "$tag_Image"
docker push "$tag_Image"

0 comments on commit 41f766c

Please sign in to comment.