Skip to content

Generate one file per resource in every layer #281

Generate one file per resource in every layer

Generate one file per resource in every layer #281

name: Dotnet Copier API Build
on:
push:
paths:
- dotnet/**
- .github/workflows/build-dotnet-pipeline.yaml
- .github/actions/setup-copier-template/**
branches:
- main
pull_request:
paths:
- dotnet/**
- .github/workflows/build-dotnet-pipeline.yaml
- .github/actions/setup-copier-template/**
jobs:
build-dotnet:
runs-on: ${{ matrix.os }}
strategy:
# Windows and macOS risks don't depend on the cloud, so each runs once.
matrix:
os:
- ubuntu-latest
template-type:
- dotnet
cloud-service:
- "Azure Function App"
- "GCP Cloud Function"
- "AWS Lambda"
dotnet-version:
- "10.x"
fixture:
- single
- edge
include:
- os: windows-latest
template-type: dotnet
cloud-service: "Azure Function App"
dotnet-version: "10.x"
fixture: single
- os: macos-latest
template-type: dotnet
cloud-service: "AWS Lambda"
dotnet-version: "10.x"
fixture: single
fail-fast: false
steps:
- name: Check out
uses: actions/checkout@v7
- name: Setup Copier Template
uses: ./.github/actions/setup-copier-template
with:
template-language: ${{ matrix.template-type }}
template-cloud-service: ${{ matrix.cloud-service }}
resources-fixture: ${{ matrix.fixture }}
- name: Setup dotnet ${{ matrix.dotnet-version }}
uses: actions/setup-dotnet@v6
with:
dotnet-version: ${{ matrix.dotnet-version }}
- name: Install dependencies
run: make install
working-directory: KittenClaws
- name: Build
run: make build
working-directory: KittenClaws
- name: Run lint
run: make lint
working-directory: KittenClaws
- name: Test with the dotnet CLI
run: make test-unit
working-directory: KittenClaws
- name: Run dependency vulnerability scan
continue-on-error: true
uses: ./.github/actions/dependency-audit
with:
command: make audit
title: .NET dependency vulnerability scan (${{ matrix.cloud-service }}, ${{ matrix.fixture }})