* Add goreleaser for building binaries * Update CONTRIBUTING.md * Break release scripts for goreleaser Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
102 lines
2.4 KiB
YAML
102 lines
2.4 KiB
YAML
name: Fission CI upgrade
|
|
|
|
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:
|
|
upgrade-test:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kindimage : [ 'kindest/node:v1.19.11' ]
|
|
os: [ ubuntu-latest ]
|
|
steps:
|
|
- name: Setup go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.16
|
|
|
|
- name: Checkout action sources
|
|
uses: actions/checkout@v2.3.4
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-
|
|
|
|
- name: Setup Helm
|
|
uses: Azure/setup-helm@v1
|
|
with:
|
|
version: v3.3.4
|
|
|
|
- name: Setup Kind Clutser
|
|
uses: engineerd/setup-kind@v0.5.0
|
|
with:
|
|
image: ${{ matrix.kindimage }}
|
|
version: v0.11.1
|
|
|
|
- name: Install GoReleaser
|
|
uses: goreleaser/goreleaser-action@v2
|
|
with:
|
|
install-only: true
|
|
|
|
- name: Setup kubectl & fetch node information
|
|
run: |
|
|
kubectl cluster-info --context kind-kind
|
|
kubectl get nodes
|
|
kubectl get storageclasses.storage.k8s.io
|
|
|
|
- name: Dump system info
|
|
run: |
|
|
source ./test/upgrade_test/fission_objects.sh dump_system_info
|
|
|
|
- name: Install and configure previous stable fission
|
|
run: |
|
|
source ./test/upgrade_test/fission_objects.sh install_stable_release \
|
|
&& create_fission_objects \
|
|
&& test_fission_objects
|
|
|
|
- name: Upgrade fission to latest
|
|
run: |
|
|
source ./test/upgrade_test/fission_objects.sh build_docker_images \
|
|
&& kind_image_load \
|
|
&& install_current_release \
|
|
&& install_fission_cli
|
|
|
|
- name: Test previously created fission objects with new release
|
|
run: |
|
|
source ./test/upgrade_test/fission_objects.sh test_fission_objects
|
|
|
|
- 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 |