Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Shared CI for Veraison repositories

This repository contains reusable workflows that are shared mainly between go and rust projects under the Veraison origination. They can be found under: .github/workflows.

The goal is to share a test runners and enforce a common set of rules across repositories.

Shared workflows

Workflow Purpose Jobs
go.yml CI for Go projects test, lint, cover
rust.yml CI for Rust projects test, lint, deny
openapi.yml Validate OpenAPI specifications specs

Example:

name: ci

on:
  push:
    branches: ["**"]
  pull_request:
  workflow_dispatch:

permissions:
  contents: read

concurrency:
  group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch }}

jobs:
  go:
    uses: veraison/ci/.github/workflows/go.yml@main
    with:
      jobs: test
      os: '["ubuntu-latest", "macos-latest"]'

All jobs with the config above trigger on push and pull_request without running twice on either on alreay tested commits or scheduled by different triggers.

See the inputs of each workflow for all options. Callers use @main, so changes here take effect everywhere on the next run.

Shared tool configurations

configs/ holds the common .golangci.yml and deny.toml. Each project commits a generated copy (common file + optional .golangci.project.yml / deny.project.toml), regenerated by running scripts/sync-config.py.

Changes to configs/ open pull requests in every project via sync-configs.

About

Shared workflows and data between projects for CI

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages