Skip to content

Add failsafe-go

Add failsafe-go #45

# Code generated by build-workflows script. DO NOT EDIT.
# source: stores/shared-memory/.github/workflows/test.yml
# SPDX-FileCopyrightText: 2023-present Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
name: Test Shared Memory Store
on:
push:
branches:
- 'master'
paths:
- 'stores/shared-memory/**'
- 'testing/**'
pull_request:
paths:
- 'stores/shared-memory/**'
- 'testing/**'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-controller:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build image
uses: ./.github/actions/docker-build
with:
name: controller
context: controller
file: controller/build/controller/Dockerfile
tags: atomix/controller
build-controller-init:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build image
uses: ./.github/actions/docker-build
with:
name: controller-init
context: controller
file: controller/build/controller-init/Dockerfile
tags: atomix/controller-init
build-shared-memory-controller:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build image
uses: ./.github/actions/docker-build
with:
name: shared-memory-controller
context: stores/shared-memory
file: stores/shared-memory/build/controller/Dockerfile
tags: atomix/shared-memory-controller
build-shared-memory-node:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build image
uses: ./.github/actions/docker-build
with:
name: shared-memory-node
context: stores/shared-memory
file: stores/shared-memory/build/node/Dockerfile
tags: atomix/shared-memory-node
run-tests:
runs-on: ubuntu-latest
timeout-minutes: 10
needs:
- build-controller
- build-controller-init
- build-shared-memory-controller
- build-shared-memory-node
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Setup Helm
uses: ./.github/actions/setup-helm
- name: Setup Helmit
uses: ./.github/actions/setup-helmit
- name: Create kind cluster
uses: helm/kind-action@v1.4.0
with:
cluster_name: kind
- name: Fetch atomix/controller
uses: actions/download-artifact@v3
with:
name: controller
path: /tmp
- name: Fetch atomix/controller-init
uses: actions/download-artifact@v3
with:
name: controller-init
path: /tmp
- name: Fetch atomix/shared-memory-controller
uses: actions/download-artifact@v3
with:
name: shared-memory-controller
path: /tmp
- name: Fetch atomix/shared-memory-node
uses: actions/download-artifact@v3
with:
name: shared-memory-node
path: /tmp
- name: Load Docker images
run: |
kind load image-archive /tmp/controller.tar
kind load image-archive /tmp/controller-init.tar
kind load image-archive /tmp/shared-memory-controller.tar
kind load image-archive /tmp/shared-memory-node.tar
- name: Install core controller
run: |
helm install \
atomix-controller \
./controller/chart \
-n kube-system \
--set image.pullPolicy=Never \
--set init.image.pullPolicy=Never \
--wait
- name: Install Shared Memory controller
run: |
helm install \
atomix-shared-memory-controller \
./stores/shared-memory/chart \
-n kube-system \
--set image.pullPolicy=Never \
--set init.image.pullPolicy=Never \
--wait
- name: Test Shared Memory controller
working-directory: stores/shared-memory/tests
run: |
helmit test ./... \
--context ${{ github.workspace }} \
--namespace test \
--create-namespace \
--verbose
- name: Record k8s status
if: failure()
run: |
echo "kubectl get pods --all-namespaces"
kubectl get pods --all-namespaces
echo "kubectl get storageprofiles --all-namespaces"
kubectl get storageprofiles --all-namespaces
echo "kubectl get datastores --all-namespaces"
kubectl get datastores --all-namespaces
echo "kubectl get sharedmemorystores --all-namespaces"
kubectl get sharedmemorystores --all-namespaces