Skip to content

chore: import packages only once #307

chore: import packages only once

chore: import packages only once #307

Workflow file for this run

# Copyright 2018-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: ci
on:
pull_request:
paths-ignore:
- 'deploy/helm/**'
- 'docs/**'
- 'MAINTAINERS'
- '*.md'
- 'LICENSE'
branches:
# on pull requests to develop and release branches
- develop
- 'v*'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: License Check
run: make license-check
unit-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Unit test
run: make test
- name: Verify corrections
run: make verify-src
- name: Upload Coverage Report
uses: codecov/codecov-action@v1
sanity-test:
# to ignore builds on release
if: ${{ (github.event.ref_type != 'tag') }}
runs-on: ubuntu-latest
needs: ['lint', 'unit-test']
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go 1.19
uses: actions/setup-go@v3
with:
go-version: 1.19.13
- name: Build provisioner-nfs image
run: make provisioner-nfs-image
- name: Build nfs-server-alpine image
run: make nfs-server-image
- name: Install NFS utils
run: |
sudo apt-get update && sudo apt-get install -y nfs-common
- name: Setup Minikube-Kubernetes
uses: medyagh/setup-minikube@latest
with:
cache: false
minikube-version: 1.31.1
driver: none
kubernetes-version: ${{ matrix.kubernetes }}
cni: calico
start-args: '--install-addons=false'
- name: Installation
run: |
./tests/install-localpv.sh
./tests/install-nfs-provisioner.sh
- name: Running sanity tests
run: make sanity-test
provisioner-nfs:
runs-on: ubuntu-latest
needs: ['lint', 'unit-test']
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go 1.19
uses: actions/setup-go@v3
with:
go-version: 1.19.13
- name: Setup QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: all
- name: Setup Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
version: v0.5.1
- name: Build Image
uses: docker/build-push-action@v4
with:
context: .
file: ./buildscripts/provisioner-nfs/provisioner-nfs.Dockerfile
push: false
platforms: linux/amd64, linux/arm64, linux/arm/v7, linux/ppc64le
tags: |
openebs/provisioner-nfs:ci
nfs-server:
runs-on: ubuntu-latest
needs: ['lint', 'unit-test']
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: all
- name: Setup Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
version: v0.5.1
- name: Build Image
uses: docker/build-push-action@v4
with:
context: ./nfs-server-container
file: nfs-server-container/Dockerfile
push: false
platforms: linux/amd64, linux/arm64, linux/arm/v7, linux/ppc64le
tags: |
openebs/nfs-server-alpine:ci
nfs-e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build the nfs-e2e image
uses: docker/build-push-action@v4
with:
file: ./e2e-tests/Dockerfile
push: false
load: false
platforms: linux/amd64
tags: |
openebs/nfs-e2e:ci