* Use shared informers across executor for fission CRs Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Add informer for configmap and secrets Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Use shared informers in router Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Add shared informer for canary config Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Add sharedinformer for ready pod check Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Refer informer instead of store in resolver Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Run informers before executors Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Add missing canary config handler calls Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Enable websocket test Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Run dump collection always Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
121 lines
3.0 KiB
YAML
121 lines
3.0 KiB
YAML
name: Fission CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- '**.go'
|
|
- 'charts/**'
|
|
- 'test/**'
|
|
- go.mod
|
|
- go.sum
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- '**.go'
|
|
- 'charts/**'
|
|
- 'test/**'
|
|
- go.mod
|
|
- go.sum
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
# Job to run change detection
|
|
integration-test:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kindimage : [ 'kindest/node:v1.19.11','kindest/node:v1.20.7', 'kindest/node:v1.21.1' ]
|
|
os: [ ubuntu-latest ]
|
|
steps:
|
|
- name: setup go
|
|
uses: actions/setup-go@v2.1.3
|
|
with:
|
|
go-version: "1.15.12"
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2.3.4
|
|
with:
|
|
repository: fission/examples
|
|
path: examples
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-
|
|
|
|
- name: Helm installation
|
|
uses: Azure/setup-helm@v1
|
|
with:
|
|
version: v3.3.4
|
|
|
|
- name: Kind Clutser
|
|
uses: engineerd/setup-kind@v0.5.0
|
|
with:
|
|
image: ${{ matrix.kindimage }}
|
|
version: v0.11.1
|
|
config: kind.yaml
|
|
|
|
- name: Configuring and testing the Installation
|
|
run: |
|
|
kubectl cluster-info --context kind-kind
|
|
kubectl get nodes
|
|
sudo apt-get install -y apache2-utils
|
|
|
|
- name: Helm chart lint
|
|
run: |
|
|
helm lint charts/fission-all/ charts/fission-core/
|
|
|
|
- name: Helm update
|
|
run: helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
|
|
|
- name: Install Skaffold
|
|
run: |
|
|
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
|
|
sudo install skaffold /usr/local/bin/
|
|
skaffold version
|
|
|
|
- name: Build and Install Fission
|
|
run: |
|
|
kubectl create ns fission
|
|
kubectl create -k crds/v1
|
|
skaffold run -p kind-ci
|
|
|
|
- name: Build and Install Fission CLI
|
|
run: |
|
|
sudo make install-fission-cli
|
|
sudo chmod +x /usr/local/bin/fission
|
|
|
|
- name: Port-forward fission components
|
|
run: |
|
|
kubectl port-forward svc/router 8888:80 -nfission &
|
|
kubectl port-forward svc/controller 8889:80 -nfission &
|
|
kubectl port-forward svc/nats-streaming 8890:4222 -nfission &
|
|
|
|
- name: Get fission version
|
|
run: |
|
|
fission version
|
|
|
|
- name: Integration tests
|
|
run: ./test/kind_CI.sh
|
|
|
|
- name: Collect Fission Dump
|
|
if: ${{ always() }}
|
|
run: |
|
|
command -v fission && fission support dump
|
|
|
|
- name: Archive fission dump
|
|
if: ${{ failure() }}
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: fission-dump
|
|
path: fission-dump/*.zip
|
|
retention-days: 5 |