Files
fission-src/.github/workflows/push_pr.yaml
T
2021-06-21 15:22:59 +05:30

107 lines
2.7 KiB
YAML

name: Fission CI
on:
push:
branches:
- master
paths:
- '**.go'
- 'charts/**'
- 'test/**'
pull_request:
branches:
- master
paths:
- '**.go'
- 'charts/**'
- 'test/**'
workflow_dispatch:
jobs:
# Job to run change detection
integration-test:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2.3.4
- name: Checkout sources
uses: actions/checkout@v2.3.4
with:
repository: fission/examples
path: examples
- name: setup go
uses: actions/setup-go@v2.1.3
with:
go-version: "1.15.12"
- name: Helm installation
uses: Azure/setup-helm@v1
with:
version: v3.3.4
- name: Kind Clutser
uses: engineerd/setup-kind@v0.5.0
with:
config: kind.yaml
- name: Configuring and testing the Installation
run: |
kubectl cluster-info --context kind-kind
kind get kubeconfig --internal >$HOME/.kube/config
kubectl get nodes
sudo apt-get install -y apache2-utils
- name: Static code analysis
run: |
./hack/verify-gofmt.sh
./hack/verify-govet.sh
helm lint charts/fission-all/ charts/fission-core/
- name: Run unit tests
run: ./hack/runtests.sh
- 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: |
go build -o fission cmd/fission-cli/main.go
sudo mv fission /usr/local/bin
fission version
- 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: Integration tests
run: ./test/kind_CI.sh
- name: Collect Fission Dump
if: ${{ failure() }}
run: |
fission support dump
- name: Archive fission dump
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: fission-support-dump
path: fission-dump/*.zip
retention-days: 5