0ea24b399d
Bumps the github-actions group with 9 updates in the / directory: | Package | From | To | | --- | --- | --- | | [step-security/harden-runner](https://github.com/step-security/harden-runner) | `2.11.0` | `2.11.1` | | [actions/setup-go](https://github.com/actions/setup-go) | `5.3.0` | `5.4.0` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.28.11` | `3.28.13` | | [actions/dependency-review-action](https://github.com/actions/dependency-review-action) | `4.5.0` | `4.6.0` | | [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) | `6.5.0` | `7.0.0` | | [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `6.2.1` | `6.3.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.1` | `4.6.2` | | [docker/login-action](https://github.com/docker/login-action) | `3.3.0` | `3.4.0` | | [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) | `0.29.0` | `0.30.0` | Updates `step-security/harden-runner` from 2.11.0 to 2.11.1 - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](https://github.com/step-security/harden-runner/compare/4d991eb9b905ef189e4c376166672c3f2f230481...c6295a65d1254861815972266d5933fd6e532bdf) Updates `actions/setup-go` from 5.3.0 to 5.4.0 - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/f111f3307d8850f501ac008e886eec1fd1932a34...0aaccfd150d50ccaeb58ebd88d36e91967a5f35b) Updates `github/codeql-action` from 3.28.11 to 3.28.13 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/6bb031afdd8eb862ea3fc1848194185e076637e5...1b549b9259bda1cb5ddde3b41741a82a2d15a841) Updates `actions/dependency-review-action` from 4.5.0 to 4.6.0 - [Release notes](https://github.com/actions/dependency-review-action/releases) - [Commits](https://github.com/actions/dependency-review-action/compare/3b139cfc5fae8b618d3eae3675e383bb1769c019...ce3cf9537a52e8119d91fd484ab5b8a807627bf8) Updates `golangci/golangci-lint-action` from 6.5.0 to 7.0.0 - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/2226d7cb06a077cd73e56eedd38eecad18e5d837...1481404843c368bc19ca9406f87d6e0fc97bdcfd) Updates `goreleaser/goreleaser-action` from 6.2.1 to 6.3.0 - [Release notes](https://github.com/goreleaser/goreleaser-action/releases) - [Commits](https://github.com/goreleaser/goreleaser-action/compare/90a3faa9d0182683851fbfa97ca1a2cb983bfca3...9c156ee8a17a598857849441385a2041ef570552) Updates `actions/upload-artifact` from 4.6.1 to 4.6.2 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1...ea165f8d65b6e75b540449e92b4886f43607fa02) Updates `docker/login-action` from 3.3.0 to 3.4.0 - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/9780b0c442fbb1117ed29e0efdff1e18412f7567...74a5d142397b4f367a81961eba4e8cd7edddf772) Updates `aquasecurity/trivy-action` from 0.29.0 to 0.30.0 - [Release notes](https://github.com/aquasecurity/trivy-action/releases) - [Commits](https://github.com/aquasecurity/trivy-action/compare/18f2510ee396bbf400402947b394f2dd8c87dbb0...6c175e9c4083a92bbca2f9724c8a5e33bc2d97a5) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-version: 2.11.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/setup-go dependency-version: 5.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 3.28.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/dependency-review-action dependency-version: 4.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: golangci/golangci-lint-action dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: goreleaser/goreleaser-action dependency-version: 6.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 4.6.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: docker/login-action dependency-version: 3.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: aquasecurity/trivy-action dependency-version: 0.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
333 lines
10 KiB
YAML
333 lines
10 KiB
YAML
name: Fission CI
|
|
|
|
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.16.4
|
|
KIND_VERSION: v0.26.0
|
|
KIND_CLUSTER_NAME: kind
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: fission-ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# Job to run change detection
|
|
integration-test:
|
|
runs-on: ${{ matrix.os }}
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kindversion: ["v1.28.15", "v1.30.8", "v1.32.0"]
|
|
os: [ubuntu-24.04]
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: setup go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version-file: "go.mod"
|
|
cache: true
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
repository: fission/examples
|
|
path: examples
|
|
|
|
- name: Helm installation
|
|
uses: Azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
|
|
with:
|
|
version: ${{ env.HELM_VERSION }}
|
|
|
|
- name: 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 }}
|
|
config: kind.yaml
|
|
|
|
- name: Configuring and testing the Installation
|
|
run: |
|
|
kubectl cluster-info --context kind-${{ env.KIND_CLUSTER_NAME }}
|
|
kubectl get nodes
|
|
sudo apt-get install -y apache2-utils
|
|
kubectl config use-context kind-${{ env.KIND_CLUSTER_NAME }}
|
|
kubectl config view
|
|
|
|
- name: Helm chart lint
|
|
run: |
|
|
helm lint charts/fission-all/
|
|
|
|
- name: Install Skaffold
|
|
run: |
|
|
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.14.0/skaffold-linux-amd64
|
|
sudo install skaffold /usr/local/bin/
|
|
skaffold version
|
|
|
|
- name: Install GoReleaser
|
|
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0
|
|
with:
|
|
install-only: true
|
|
version: "~> v2"
|
|
|
|
- name: Setup Prometheus Stack
|
|
run: |
|
|
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
|
helm repo update
|
|
kubectl create ns monitoring
|
|
helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring \
|
|
--version 45.28.0 --set grafana.enabled=false --set alertmanager.enabled=false
|
|
|
|
- name: Build and Install Fission CLI
|
|
run: |
|
|
make debug-vars
|
|
make build-fission-cli
|
|
sudo make install-fission-cli
|
|
sudo chmod +x /usr/local/bin/fission
|
|
|
|
- name: Build and Install Fission
|
|
timeout-minutes: 10
|
|
run: |
|
|
kubectl create ns fission
|
|
make create-crds
|
|
SKAFFOLD_PROFILE=kind-ci make skaffold-deploy
|
|
|
|
- name: Port-forward fission components
|
|
run: |
|
|
kubectl port-forward svc/router 8888:80 -nfission &
|
|
|
|
- name: Get fission version
|
|
timeout-minutes: 10
|
|
run: |
|
|
fission version
|
|
|
|
- name: Integration tests
|
|
timeout-minutes: 90
|
|
run: ./test/kind_CI.sh
|
|
|
|
- name: Collect Fission Dump
|
|
timeout-minutes: 5
|
|
if: ${{ always() }}
|
|
run: |
|
|
command -v fission && fission support dump
|
|
|
|
- name: Kind export logs
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
run: |
|
|
kind export logs --name ${{ env.KIND_CLUSTER_NAME }} kind-logs
|
|
|
|
- name: Backup prometheus data
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
run: |
|
|
TRACE=1 ./hack/backup-prometheus.sh
|
|
|
|
- name: Archive fission dump
|
|
timeout-minutes: 10
|
|
if: ${{ failure() || cancelled() }}
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: fission-dump/*.zip
|
|
retention-days: 5
|
|
|
|
- name: Archive prometheus dump
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: prom-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: /tmp/prometheus/*
|
|
retention-days: 5
|
|
|
|
- name: Archive kind logs
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: kind-logs/*
|
|
retention-days: 5
|
|
|
|
# Job to ensure backward compatibility if function and builder pods are created
|
|
# inside functionNamespace and builderNamespace
|
|
integration-test-old:
|
|
runs-on: ${{ matrix.os }}
|
|
if: ${{ contains(github.event.pull_request.labels.*.name, 'run-old-ci') }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kindversion: ["v1.19.16"]
|
|
os: [ubuntu-24.04]
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: setup go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version-file: "go.mod"
|
|
cache: true
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
repository: fission/examples
|
|
path: examples
|
|
|
|
- name: Helm installation
|
|
uses: Azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
|
|
with:
|
|
version: ${{ env.HELM_VERSION }}
|
|
|
|
- name: 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 }}
|
|
config: kind.yaml
|
|
|
|
- name: Configuring and testing the Installation
|
|
run: |
|
|
kubectl cluster-info --context kind-${{ env.KIND_CLUSTER_NAME }}
|
|
kubectl get nodes
|
|
sudo apt-get install -y apache2-utils
|
|
kubectl config use-context kind-${{ env.KIND_CLUSTER_NAME }}
|
|
kubectl config view
|
|
|
|
- name: Helm chart lint
|
|
run: |
|
|
helm lint charts/fission-all/
|
|
|
|
- name: Install Skaffold
|
|
run: |
|
|
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.14.0/skaffold-linux-amd64
|
|
sudo install skaffold /usr/local/bin/
|
|
skaffold version
|
|
|
|
- name: Install GoReleaser
|
|
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0
|
|
with:
|
|
install-only: true
|
|
version: "~> v2"
|
|
|
|
- name: Setup Prometheus Stack
|
|
run: |
|
|
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
|
helm repo update
|
|
kubectl create ns monitoring
|
|
helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring \
|
|
--version 45.28.0 --set grafana.enabled=false --set alertmanager.enabled=false
|
|
|
|
- name: Build and Install Fission CLI
|
|
run: |
|
|
make debug-vars
|
|
make build-fission-cli
|
|
sudo make install-fission-cli
|
|
sudo chmod +x /usr/local/bin/fission
|
|
|
|
- name: Build and Install Fission
|
|
timeout-minutes: 10
|
|
run: |
|
|
kubectl create ns fission
|
|
make create-crds
|
|
SKAFFOLD_PROFILE=kind-ci-old make skaffold-deploy
|
|
|
|
- name: Port-forward fission components
|
|
run: |
|
|
kubectl port-forward svc/router 8888:80 -nfission &
|
|
|
|
- name: Get fission version
|
|
timeout-minutes: 10
|
|
run: |
|
|
fission version
|
|
|
|
- name: Integration tests
|
|
timeout-minutes: 90
|
|
run: |
|
|
export FUNCTION_NAMESPACE=fission-function
|
|
export BUILDER_NAMESPACE=fission-builder
|
|
./test/kind_CI.sh
|
|
|
|
- name: Collect Fission Dump
|
|
timeout-minutes: 5
|
|
if: ${{ always() }}
|
|
run: |
|
|
command -v fission && fission support dump
|
|
|
|
- name: Kind export logs
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
run: |
|
|
kind export logs --name kind kind-logs
|
|
|
|
- name: Backup prometheus data
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
run: |
|
|
TRACE=1 ./hack/backup-prometheus.sh
|
|
|
|
- name: Archive fission dump
|
|
timeout-minutes: 10
|
|
if: ${{ failure() || cancelled() }}
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: fission-dump/*.zip
|
|
retention-days: 5
|
|
|
|
- name: Archive prometheus dump
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: prom-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: /tmp/prometheus/*
|
|
retention-days: 5
|
|
|
|
- name: Archive kind logs
|
|
timeout-minutes: 10
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
|
|
path: kind-logs/*
|
|
retention-days: 5 |