Skip to content

Commit

Permalink
ci: enable new ci and build.yml changes
Browse files Browse the repository at this point in the history
Signed-off-by: Diwakar Sharma <diwakar.sharma@datacore.com>
  • Loading branch information
dsharma-dc committed Sep 26, 2024
1 parent 45e0fbd commit 8646e5f
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 160 deletions.
135 changes: 45 additions & 90 deletions .github/workflows/build.yml → .github/workflows/build_and_push.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,44 @@
# Copyright 2020 The OpenEBS Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: build
name: Build and Push

on:
create:
push:
branches:
- 'develop'
- 'v*'
- develop
- "release/**"
paths-ignore:
- '*.md'
- 'BUILDMETA'
- 'changelogs/**'
- 'deploy/helm/**'
- 'docs/**'
- 'LICENSE'
- 'MAINTAINERS'
- "*.md"
- "BUILDMETA"
- "changelogs/**"
- "deploy/helm/**"
- "docs/**"
- "design/**"
- "LICENSE"
- "MAINTAINERS"

jobs:
lint:
# to ignore builds on release
if: ${{ (github.event.ref_type != 'tag') }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Shellcheck
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
path: '.'
pattern: '*.sh'
exclude: './.git/*'
fetch-depth: 0

- name: Set up Go 1.19
uses: actions/setup-go@v5
- uses: cachix/install-nix-action@v22
- uses: rrbutani/use-nix-shell-action@v1.1.0
with:
go-version: 1.19.9
cache: false
file: shell.nix

- name: Lint Check
uses: golangci/golangci-lint-action@v4
with:
version: v1.56.2
args: -E exportloopref,dupl,revive,bodyclose,goconst,misspell -D structcheck --timeout 5m0s
- name: Check if the chart follows a valid semver version
run: |
BRANCH=${{ github.ref_name }}
./scripts/validate-chart-version.sh --branch $BRANCH
- name: Run chart-testing lint
run: |
ct lint --config ct.yaml
unit-test:
# to ignore builds on release
if: ${{ (github.event.ref_type != 'tag') }}
unit-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand All @@ -76,15 +54,15 @@ jobs:
run: make test

- name: Upload Coverage Report
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.txt
name: coverage-$(date +%s)
flags: unittests

bdd-test:
needs: ['unit-test']
bdd-tests:
needs: ["unit-tests"]
runs-on: ubuntu-latest
strategy:
fail-fast: true
Expand All @@ -108,7 +86,7 @@ jobs:
driver: none
kubernetes-version: ${{ matrix.kubernetes }}
cni: calico
start-args: '--install-addons=false'
start-args: "--install-addons=false"

- name: Build images locally
run: make lvm-driver-image || exit 1;
Expand All @@ -127,44 +105,14 @@ jobs:
name: coverage-bdd_coverage-$(date +%s)
flags: bddtests

ansible:
runs-on: ubuntu-latest
needs: ['lint', 'unit-test', 'bdd-test']
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set Image Org
# sets the default IMAGE_ORG to openebs
run: |
[ -z "${{ secrets.IMAGE_ORG }}" ] && IMAGE_ORG=openebs || IMAGE_ORG=${{ secrets.IMAGE_ORG}}
echo "IMAGE_ORG=${IMAGE_ORG}" >> $GITHUB_ENV
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push the ansible image
uses: docker/build-push-action@v5
with:
file: ./e2e-tests/Dockerfile
push: true
load: false
platforms: linux/amd64
tags: |
${{ env.IMAGE_ORG }}/lvm-localpv-e2e:ci
csi-driver:
runs-on: ubuntu-latest
needs: ['lint', 'unit-test', 'bdd-test']
needs: ["lint", "bdd-tests"]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set Image Org
# sets the default IMAGE_ORG to openebs
run: |
[ -z "${{ secrets.IMAGE_ORG }}" ] && IMAGE_ORG=openebs || IMAGE_ORG=${{ secrets.IMAGE_ORG }}
echo "IMAGE_ORG=${IMAGE_ORG}" >> $GITHUB_ENV
Expand All @@ -174,15 +122,11 @@ jobs:
run: |
echo "DATE=$(date -u +'%Y-%m-%dT%H:%M:%S%Z')" >> $GITHUB_OUTPUT
- name: Set Tag
- name: Set IMAGE_TAG and BRANCH
run: |
BRANCH="${GITHUB_REF##*/}"
CI_TAG=${BRANCH#v}-ci
if [ ${BRANCH} = "develop" ]; then
CI_TAG="ci"
fi
echo "TAG=${CI_TAG}" >> $GITHUB_ENV
echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
BRANCH=${{ github.ref_name }}
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
echo "IMAGE_TAG=$(awk -F': ' '/^version:/ {print $$2}' deploy/helm/charts/Chart.yaml)" >> $GITHUB_ENV
- name: Docker meta
id: docker_meta
Expand All @@ -195,11 +139,11 @@ jobs:
ghcr.io/${{ env.IMAGE_ORG }}/lvm-driver
tags: |
type=raw,value=latest,enable=false
type=raw,value=${{ env.TAG }}
type=raw,value=${{ env.IMAGE_TAG }}
- name: Print Tag info
run: |
echo "BRANCH: ${BRANCH}"
echo "BRANCH: ${env.BRANCH}"
echo "${{ steps.docker_meta.outputs.tags }}"
- name: Set up QEMU
Expand Down Expand Up @@ -247,3 +191,14 @@ jobs:
DBUILD_REPO_URL=https://github.com/openebs/lvm-localpv
DBUILD_SITE_URL=https://openebs.io
BRANCH=${{ env.BRANCH }}
release-chart:
runs-on: ubuntu-latest
needs: ["csi-driver"]
steps:
- uses: actions/checkout@v4
- name: Publish lvm localpv develop or prerelease helm chart
uses: stefanprodan/helm-gh-pages@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
charts_dir: ./deploy/helm
49 changes: 19 additions & 30 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ on:
pull_request:
branches:
- 'develop'
- 'release/**'
- "release/**"
paths-ignore:
- '*.md'
- 'BUILDMETA'
- 'changelogs/**'
- 'docs/**'
- 'design/**'
- 'LICENSE'
- 'MAINTAINERS'
- "*.md"
- "BUILDMETA"
- "changelogs/**"
- "docs/**"
- "design/**"
- "LICENSE"
- "MAINTAINERS"

jobs:
lint:
Expand All @@ -29,12 +29,6 @@ jobs:
go-version: 1.19.9
cache: false

- name: Format test
run: make format

- name: bootstrap
run: make bootstrap

- name: Lint Check
uses: golangci/golangci-lint-action@v4
with:
Expand All @@ -46,19 +40,19 @@ jobs:
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
path: '.'
pattern: '*.sh'
path: ""."
pattern: "*.sh"

- uses: cachix/install-nix-action@v22
- uses: rrbutani/use-nix-shell-action@v1.1.0
with:
file: shell.nix

# - name: Check if the chart follows a valid semver version
# run: |
# branch_name="${{ github.event.pull_request.base.ref }}"
# ./scripts/validate-chart-version.sh --branch $branch_name
- name: Check if the chart follows a valid semver version
run: |
branch_name="${{ github.event.pull_request.base.ref }}"
./scripts/validate-chart-version.sh --branch $branch_name
- name: Run chart-testing lint
run: |
ct lint --config ct.yaml
Expand All @@ -79,15 +73,15 @@ jobs:
run: make test

- name: Upload Coverage Report
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.txt
name: coverage-$(date +%s)
flags: unittests

bdd-tests:
needs: ['unit-tests']
needs: ["unit-tests"]
runs-on: ubuntu-latest
strategy:
fail-fast: true
Expand All @@ -96,11 +90,6 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4

- uses: cachix/install-nix-action@v22
- uses: rrbutani/use-nix-shell-action@v1.1.0
with:
file: shell.nix

- name: Set up Go 1.19
uses: actions/setup-go@v5
Expand All @@ -119,7 +108,7 @@ jobs:
driver: none
kubernetes-version: ${{ matrix.kubernetes }}
cni: calico
start-args: '--install-addons=false'
start-args: "--install-addons=false"

- name: Setting environment variables
run: |
Expand All @@ -142,7 +131,7 @@ jobs:

csi-driver:
runs-on: ubuntu-latest
needs: ['lint', 'unit-tests', 'bdd-tests']
needs: ["lint", "unit-tests", "bdd-tests"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
34 changes: 0 additions & 34 deletions .github/workflows/release-charts.yml

This file was deleted.

6 changes: 3 additions & 3 deletions deploy/helm/charts/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: v2
name: lvm-localpv
description: CSI Driver for dynamic provisioning of LVM Persistent Local Volumes.
version: 1.6.2
appVersion: 1.6.1
version: 1.7.0-develop
appVersion: 1.7.0-develop
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.png
home: https://openebs.io/
keywords:
Expand All @@ -16,5 +16,5 @@ sources:
- https://github.com/openebs/lvm-localpv
dependencies:
- name: crds
version: 1.6.2
version: 1.7.0-develop
condition: crds.enabled
2 changes: 1 addition & 1 deletion deploy/helm/charts/charts/crds/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: v2
name: crds
version: 1.6.2
version: 1.7.0-develop
description: A Helm chart that collects CustomResourceDefinitions (CRDs) from lvm-localpv.
2 changes: 1 addition & 1 deletion deploy/helm/charts/templates/lvm-controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ spec:
value: controller
- name: OPENEBS_CSI_ENDPOINT
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
- name: LVM_NAMESPACE
- name: OPENEBS_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
Expand Down
Loading

0 comments on commit 8646e5f

Please sign in to comment.