Skip to content

Commit 863298b

Browse files
authored
Update outdated tools version in github action (#423)
* Update outdated tools version in github action Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Organize code Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Try job name Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Take dump if failure Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * fix action Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Fix nodejs action for LTS Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * further fixes Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * Minor changes Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> * uncomment exception capturing Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> --------- Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
1 parent c679ff6 commit 863298b

File tree

13 files changed

+1302
-647
lines changed

13 files changed

+1302
-647
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: 'Collect Fission Dump'
2+
description: 'Collects Fission dump on job failure'
3+
inputs:
4+
workflow-name:
5+
description: 'Name of the workflow'
6+
required: true
7+
runs:
8+
using: "composite"
9+
steps:
10+
- name: Collect Fission Dump
11+
shell: bash
12+
run: |
13+
command -v fission && fission support dump
14+
15+
- name: Archive fission dump
16+
uses: actions/upload-artifact@v4
17+
with:
18+
name: ${{ inputs.workflow-name }}-fission-dump
19+
path: fission-dump/*.zip
20+
retention-days: 5
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: 'Setup Fission Environment'
2+
description: 'Sets up Helm, Kind cluster, Fission CLI, and completes base Fission setup'
3+
inputs:
4+
kind-node-image:
5+
description: 'Kind node image to use'
6+
required: false
7+
default: 'kindest/node:v1.27.16'
8+
kind-version:
9+
description: 'Kind version to use'
10+
required: false
11+
default: 'v0.23.0'
12+
helm-version:
13+
description: 'Helm version to use'
14+
required: false
15+
default: 'v3.18.4'
16+
kind-config:
17+
description: 'Kind config file'
18+
required: false
19+
default: 'kind.yaml'
20+
fission-cli-version:
21+
description: 'Fission CLI version to install'
22+
required: false
23+
default: 'v1.21.0'
24+
runs:
25+
using: "composite"
26+
steps:
27+
- name: Helm
28+
uses: Azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
29+
with:
30+
version: ${{ inputs.helm-version }}
31+
32+
- name: Kind Cluster
33+
uses: engineerd/setup-kind@v0.5.0
34+
with:
35+
image: ${{ inputs.kind-node-image }}
36+
version: ${{ inputs.kind-version }}
37+
config: ${{ inputs.kind-config }}
38+
39+
- name: Configuring and testing the Installation
40+
shell: bash
41+
run: |
42+
kubectl cluster-info --context kind-kind
43+
kind get kubeconfig >$HOME/.kube/config
44+
kubectl get nodes
45+
46+
# Base Setup Steps (merged from fission-base-setup)
47+
- name: Base Setup
48+
shell: bash
49+
run: |
50+
make verify-kind-cluster
51+
make install-fission-cli
52+
make install-skaffold
53+
make create-crds

.github/workflows/README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# GitHub Actions Workflow for Fission Environments
2+
3+
This directory contains the GitHub Actions workflow configuration for building and testing Fission environments.
4+
5+
## Structure
6+
7+
- `environment.yaml`: Main workflow file that defines jobs for all environments
8+
- `actions/`: Directory containing reusable composite actions
9+
- `setup-cluster/`: Sets up Helm, Kind cluster, Fission CLI and runs the base Fission setup
10+
- `collect-fission-dump/`: Collects and archives Fission dumps
11+
- `filters/`: Contains path filters for detecting changes
12+
13+
## Composite Actions
14+
15+
The workflow uses two main composite actions to reduce duplication:
16+
17+
1. **setup-cluster**: Sets up the complete infrastructure needed for testing (Helm, Kind, Fission CLI) and performs base Fission setup steps
18+
2. **collect-fission-dump**: Collects and archives Fission dumps on failure
19+
20+
## Environment Variables
21+
22+
All version pins are centralized in the `env` section of the main workflow file:
23+
24+
- `KIND_NODE_IMAGE`: Kind node image version
25+
- `KIND_VERSION`: Kind tool version
26+
- `HELM_VERSION`: Helm version
27+
- `FISSION_CLI_VERSION`: Fission CLI version
28+
- `KIND_CONFIG`: Path to Kind configuration
29+
- `FISSION_VERSION`: Fission version
30+
31+
## Usage
32+
33+
The workflow is triggered on pull requests to the `master` branch. It first runs a change detection job to determine which environments have been modified, then runs the relevant jobs for those environments.
34+
35+
### Adding a New Environment
36+
37+
To add a new environment:
38+
39+
1. Add the environment to the `check` job's outputs
40+
2. Create a new job for the environment following the existing patterns
41+
3. Add the environment to the filters configuration

0 commit comments

Comments
 (0)