Repository navigation
49 lines (45 loc) · 1.77 KB
/
Copy pathrelease.yml
File metadata and controls
49 lines (45 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: Release
permissions:
contents: write
issues: write
pull-requests: write
id-token: write
# Monorepo releases (homeboy-action#555): every merge releases each plugin
# with unreleased commits since its own `<id>-vX.Y.Z` tag, serially in one job,
# each with its own version bump, changelog, GitHub Release and zip. Plugins
# with nothing to release are skipped, and a plugin missed by one run is picked
# up by the next. Only data-machine claims GitHub's "Latest" release
# (`github.release_latest` in each homeboy.json), so
# releases/latest/download/data-machine.zip keeps pointing at core.
on:
push:
branches: [main]
workflow_dispatch:
inputs:
dry-run:
description: 'Preview the releases without making changes'
type: boolean
default: false
component:
description: 'Release only the plugin at this path (e.g. plugins/data-machine-events). Empty releases every changed plugin.'
type: string
default: ''
bump:
description: 'Explicit bump for that plugin: major, minor, patch or X.Y.Z. Needed when breaking commits are held back with major-requires-flag.'
type: string
default: ''
concurrency:
group: release
cancel-in-progress: false
jobs:
release:
uses: Extra-Chill/homeboy-action/.github/workflows/release.yml@v2
with:
components: ${{ inputs.component == '' && 'all' || '' }}
component: ${{ inputs.component }}
args: ${{ inputs.component && inputs.bump && format('--bump {0} --force-lower-bump', inputs.bump) || '' }}
dry-run: ${{ inputs.dry-run || false }}
# Deploy on release instead of waiting for the poller (Extra-Chill/extrachill#1092).
dispatch-repo: Extra-Chill/extrachill
dispatch-event: component-released
secrets: inherit