pulumi/.github/workflows/on-manual-release.yml

91 lines
2.0 KiB
YAML

name: Manual Release
permissions:
# To create a draft release.
contents: write
on:
workflow_dispatch:
inputs:
ref:
description: 'The ref to release'
required: true
default: 'master'
type: string
version:
description: 'The version to produce'
required: true
type: string
test-mode:
description: 'The version to produce'
required: true
type: choice
default: 'full'
options:
- "full"
- "fast"
- "none"
build-mode:
description: 'The set of build targets to produce'
required: true
type: choice
default: 'full'
options:
- "full"
- "fast"
lint:
description: 'The version to produce'
required: true
type: choice
default: 'full'
options:
- "full"
- "none"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
info:
name: info
uses: ./.github/workflows/ci-info.yml
permissions:
contents: read
with:
ref: ${{ inputs.ref }}
secrets: inherit
ci:
name: CI
needs: [info]
uses: ./.github/workflows/ci.yml
permissions:
contents: read
with:
ref: ${{ inputs.ref }}
version: ${{ needs.info.outputs.version }}
test-mode: ${{ inputs.test-mode }}
build-mode: ${{ inputs.build-mode }}
lint: ${{ inputs.lint }}
enable-coverage: false
secrets: inherit
prepare-release:
name: prepare
if: ${{ github.ref_name == 'staging' }} # only on real merges
needs: [info, ci]
uses: ./.github/workflows/ci-prepare-release.yml
permissions:
contents: write
with:
ref: ${{ inputs.ref }}
version: ${{ inputs.version }}
release-notes: ${{ needs.info.outputs.release-notes }}
project: ${{ github.repository }}
secrets: inherit