This repository provides a centralized collection of GitHub workflows and tooling to use across Artsy's repositories.
Duchamp provides shared GitHub Actions and Danger.js configurations that help enforce best practices across Artsy repositories, including:
- Automated version labeling for pull requests
- Dependency management checks via Danger
- Standardized CI/CD workflows for Node.js projects
- Conventional commits validation
To use duchamp's actions in your repository, reference them in your workflow files:
# .github/workflows/danger.yml
name: Danger Checks
on:
pull_request:
jobs:
danger:
uses: artsy/duchamp/.github/workflows/run-danger.yml@main
secrets:
danger-token: ${{ secrets.DANGER_TOKEN }}See docs/actions.md for detailed documentation on each action.
For detailed documentation, see the docs/ directory:
- Getting Started - Setup and basic usage
- Available Actions - Detailed action reference
- Examples - Real-world usage examples
- Node.js 22+
- Yarn
- TypeScript
# Clone the repository
git clone https://github.com/artsy/duchamp.git
cd duchamp
# Install dependencies
yarn installTo test changes you are adding on a branch, you can reference the workflow elsewhere and reference your branch name during the testing process:
uses: artsy/duchamp/.github/workflows/YOUR-WORKFLOW.yml@YOUR-BRANCHFor questions or support:
- Point persons: @amonkhouse, @mc-jones
- Issues: GitHub Issues
- Slack: #product-sapphire
This project is licensed under the MIT License - see the LICENSE file for details.
This project is the work of engineers at Artsy, the world's leading and largest online art marketplace and platform for discovering art. One of our core Engineering Principles is being Open Source by Default which means we strive to share as many details of our work as possible.
You can learn more about this work from our blog and by following @ArtsyOpenSource or explore our public data by checking out our API. If you're interested in a career at Artsy, read through our job postings!