Skip to content
Snippets Groups Projects
Commit 6f32f840 authored by James Briggs's avatar James Briggs
Browse files

feat: improved workflow selection

parent 30d5b9c2
No related branches found
No related tags found
No related merge requests found
name: Diff
on:
workflow_call:
inputs:
config:
type: string
required: true
description: 'YAML file containing modules to track'
outputs:
diff:
description: "diff"
value: "${{ jobs.diff.outputs.diff }}"
tags:
description: "tags"
value: "${{ jobs.diff.outputs.tags }}"
modules:
description: "modules"
value: "${{ jobs.diff.outputs.modules }}"
changed:
description: "changed"
value: "${{ jobs.diff.outputs.changed }}"
jobs:
diff:
name: Compare
runs-on: ubuntu-latest
outputs:
diff: ${{ steps.run.outputs.diff }}
tags: ${{ steps.run.outputs.tags }}
modules: ${{ steps.run.outputs.modules }}
changed: ${{ steps.run.outputs.changed }}
steps:
- name: Checkout
uses: actions/checkout@v4
- id: run
name: Diff action
uses: aurelio-labs/diff-action@0.2.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
config: ${{ inputs.config }}
- name: Print output
run: echo '${{ toJSON(steps.run.outputs) }}' | jq .
name: Release Docs
on:
push:
branches:
- main
workflow_call:
jobs:
build-docs:
......
name: lint
on:
pull_request:
workflow_call:
jobs:
......
name: Test
on:
pull_request:
workflow_call:
jobs:
......
name: Merge Workflow
permissions:
id-token: write
contents: read
on:
merge:
branches:
- main
jobs:
diff:
name: "Diff"
uses: ./.github/workflows/diff.yaml
with:
config: diff-config.yaml
docs:
needs: [ diff ]
name: "Docs"
if: ${{ fromJson(needs.diff.outputs.tags).docs.changed }}
uses: ./.github/workflows/docs.yml
name: PR Workflow
permissions:
id-token: write
contents: read
on:
pull_request:
types: [ opened, synchronize, ready_for_review ]
branches: [ 'main' ]
jobs:
diff:
name: "Diff"
uses: ./.github/workflows/diff.yaml
with:
config: diff-config.yaml
lint:
needs: [ diff ]
name: "Lint"
if: ${{ fromJson(needs.diff.outputs.tags).code.changed }}
uses: ./.github/workflows/lint.yml
tests:
needs: [ diff ]
name: "Tests"
if: ${{ fromJson(needs.diff.outputs.tags).code.changed }}
uses: ./.github/workflows/test.yml
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment