* Update release version v1.22.0 Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Update few go deps Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * update controller-runtime to v0.22.3 Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Update tools versions Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> --------- Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
134 lines
3.9 KiB
YAML
134 lines
3.9 KiB
YAML
name: Fission CI upgrade
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- '!dependabot/**'
|
|
paths:
|
|
- "**.go"
|
|
- "charts/**"
|
|
- "test/**"
|
|
- go.mod
|
|
- go.sum
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "**.go"
|
|
- "charts/**"
|
|
- "test/**"
|
|
- go.mod
|
|
- go.sum
|
|
|
|
env:
|
|
HELM_VERSION: v3.19.0
|
|
KIND_VERSION: v0.26.0
|
|
KIND_CLUSTER_NAME: kind
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: fission-upgrade-test-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
upgrade-test:
|
|
runs-on: ${{ matrix.os }}
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kindversion: ["v1.28.15"]
|
|
os: [ubuntu-24.04]
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Checkout action sources
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Setup go
|
|
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
|
|
with:
|
|
go-version-file: "go.mod"
|
|
cache: true
|
|
|
|
- name: Setup Helm
|
|
uses: Azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
|
|
with:
|
|
version: ${{ env.HELM_VERSION }}
|
|
|
|
- name: Setup Kind Cluster
|
|
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
|
|
with:
|
|
node_image: kindest/node:${{ matrix.kindversion }}
|
|
version: ${{ env.KIND_VERSION }}
|
|
cluster_name: ${{ env.KIND_CLUSTER_NAME }}
|
|
|
|
- name: Install GoReleaser
|
|
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0
|
|
with:
|
|
install-only: true
|
|
version: "~> v2"
|
|
|
|
- name: Setup kubectl & fetch node information
|
|
run: |
|
|
kubectl cluster-info --context kind-${{ env.KIND_CLUSTER_NAME }}
|
|
kubectl get nodes
|
|
kubectl get storageclasses.storage.k8s.io
|
|
kubectl config use-context kind-${{ env.KIND_CLUSTER_NAME }}
|
|
kubectl config set-context --current --namespace=default
|
|
kubectl config view
|
|
|
|
- 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
|
|
timeout-minutes: 10
|
|
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: Kind export logs
|
|
if: ${{ always() }}
|
|
run: |
|
|
kind export logs --name ${{ env.KIND_CLUSTER_NAME }} kind-logs
|
|
|
|
- name: Archive fission dump
|
|
if: ${{ failure() || cancelled() }}
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: fission-dump/*.zip
|
|
retention-days: 5
|
|
|
|
- name: Archive kind logs
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: kind-logs/*
|
|
retention-days: 5
|