Skip to content
This repository has been archived by the owner on Aug 20, 2024. It is now read-only.

layer5io/meshery-smi-conformance-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace



GitHub release (latest by date) GitHub issues

Meshery - SMI Conformance GitHub Action

GitHub Action to run SMI Conformance tests on CI/CD pipelines.

Meshery is SMI's official tool for validating conformance. Learn more at smi-spec.io.

Learn More

Supported Service Meshes

Meshery supports 10 different service meshes.

See all Supported Service Meshes

Usage

See action.yml

By default, this action brings its own Kubernetes cluster(minikube), deploys the latest release of the service mesh specified and runs conformance tests (see Running on latest release).

You can however bring your own clusters with a specific version of a service mesh installed and Meshery would automatically detect your environment and run the conformance test accordingly (see Running on specific version).

See Running SMI Conformance Tests in CI/CD Pipelines for detailed instructions on setting up Meshery and authenticating the GitHub action.

Sample Configurations

Running on latest release

Meshery would handle setting up the environment, deploying the service mesh and running the conformance tests.

name: SMI Conformance with Meshery
on:
  push:
    tags:
      - 'v*'

jobs:
  smi-conformance:
    name: SMI Conformance
    runs-on: ubuntu-latest
    steps:

      - name: SMI conformance tests
        uses: layer5io/mesheryctl-smi-conformance-action@master
        with:
          provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }}
          service_mesh: open_service_mesh
          mesh_deployed: false

Running on specific version

(bring your own cluster)

The environment with the service mesh installed provided by the user and Meshery runs the conformance tests.

name: SMI Conformance with Meshery
on:
  push:
    branches:
      - 'master'

jobs:
  smi-conformance:
    name: SMI Conformance tests on master
    runs-on: ubuntu-latest
    steps:

      - name: Deploy k8s-minikube
        uses: manusa/[email protected]
        with:
          minikube version: 'v1.21.0'
          kubernetes version: 'v1.20.7'
          driver: docker

      - name: Install OSM
        run: |
           curl -LO https://github.com/openservicemesh/osm/releases/download/v0.9.1/osm-v0.9.1-linux-amd64.tar.gz
           tar -xzf osm-v0.9.1-linux-amd64.tar.gz
           mkdir -p ~/osm/bin
           mv ./linux-amd64/osm ~/osm/bin/osm-bin
           PATH="$PATH:$HOME/osm/bin/"
           osm-bin install --osm-namespace default

      - name: SMI conformance tests
        uses: layer5io/mesheryctl-smi-conformance-action@master
        with:
          provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }}
          service_mesh: open_service_mesh
          mesh_deployed: true

Reporting Conformance

Service mesh projects can report their SMI Conformance results automatically and update it on the SMI Conformance Dashboard.

See Reporting Conformance for details on how to setup reporting.

Join the Community!

Our projects are community-built and welcome collaboration. 👍 Be sure to see the Layer5 Community Welcome Guide for a tour of resources available to you and jump into our Slack!

MeshMates

Find your MeshMate

MeshMates are experienced Layer5 community members, who will help you learn your way around, discover live projects and expand your community network. Become a Meshtee today!

Find out more on the Layer5 community.




 
Shows an illustrated light mode meshery logo in light color mode and a dark mode meshery logo dark color mode.

Layer5 Cloud Native Community

✔️ Join any or all of the weekly meetings on community calendar.
✔️ Watch community meeting recordings.
✔️ Access the Community Drive by completing a community Member Form.
✔️ Discuss in the Community Forum.

Not sure where to start? Grab an open issue with the help-wanted label.