Skip to content

test(e2e): add cross mesh granularity #2825

test(e2e): add cross mesh granularity

test(e2e): add cross mesh granularity #2825

Workflow file for this run

name: CI
on:
push:
branches: [main]
tags:
- "*"
pull_request:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
env:
IMAGE_NAME: ${{ github.repository }}
jobs:
vendor:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- run: |
go mod tidy
go mod vendor
git diff --exit-code
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- run: nix build
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- name: Build docs
run: |
nix develop . --command make gen-docs
git diff --exit-code
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- run: nix build .#kilo-cross-linux-amd64 .#kilo-cross-linux-arm64 .#kilo-cross-linux-arm
darwin:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- run: nix build .#kgctl-cross-darwin-amd64 .#kgctl-cross-darwin-arm64
windows:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- run: nix build .#kgctl-cross-windows-amd64
unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- run: nix develop . --command go test -mod=vendor --race ./...
e2e:
runs-on:
- nscloud-ubuntu-22.04-amd64-8x16-with-features
- namespace-features:kernel.release-channel=bleeding-edge
steps:
- uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build
uses: docker/build-push-action@v7
with:
context: .
platforms: linux/amd64
tags: squat/kilo:test
cache-from: type=gha
cache-to: type=gha,mode=max
load: "true"
build-args: |
VERSION=${{ github.sha }}
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- env:
E2E_SKIP_TEARDOWN_ON_FAILURE: "true"
run: nix develop . --command make e2e
- name: Breakpoint if tests failed
if: failure()
uses: namespacelabs/breakpoint-action@v0
with:
duration: 15m
authorized-users: squat, leonnicolas, kvaps
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: DeterminateSystems/determinate-nix-action@v3.17.2
- uses: DeterminateSystems/magic-nix-cache-action@v13
- run: nix flake check -L --show-trace
container:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build
uses: docker/build-push-action@v7
with:
context: .
platforms: linux/amd64, linux/arm64, linux/arm
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
VERSION=${{ github.sha }}
push:
if: github.event_name != 'pull_request'
needs:
- vendor
- build
- linux
- darwin
- windows
- unit
- lint
- container
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v6
with:
images: ghcr.io/${{ env.IMAGE_NAME }},docker.io/${{ env.IMAGE_NAME }}
tags: |
type=sha,prefix=
type=ref,event=tag
type=raw,value=latest,enable={{is_default_branch}}
flavor: latest=false
- name: Build and push
id: push
uses: docker/build-push-action@v7
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
platforms: linux/amd64, linux/arm64, linux/arm
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
VERSION=${{ github.sha }}
- name: Determine digest
run: echo ${{ steps.push.outputs.digest }}