Skip to content

Use cookiecutter template action #5

Use cookiecutter template action

Use cookiecutter template action #5

name: Test Cookiecutter Templates
on: [push, pull_request]
jobs:
find-templates:
runs-on: ubuntu-latest
outputs:
templates: ${{ steps.set-templates.outputs.templates }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Find Cookiecutter templates
id: set-templates
run: |
templates=$(find . -name 'cookiecutter.json' -exec dirname {} \; | paste -sd "," -)
echo "Found templates: $templates"
templates_json=$(echo $templates | jq -R -s -c 'split(",")')
echo "templates=$templates_json" >> $GITHUB_OUTPUT
test-templates:
needs: find-templates
runs-on: ubuntu-latest
strategy:
matrix:
template-dir: ${{ fromJson(needs.find-templates.outputs.templates) }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Use Cookiecutter
uses: andrewthetechie/gha-cookiecutter@main
with:
template: ${{ matrix.template-dir }}
overwrite: true
acceptHooks: true