53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
name: Release VSCode Extension
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
extension-name:
|
|
description: name of the extension, e.g. vscode-spring-cli
|
|
required: true
|
|
type: string
|
|
postfix:
|
|
description: For example "RC1"
|
|
required: true
|
|
type: string
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
|
|
tag-vscode-extension:
|
|
runs-on: ubuntu-latest
|
|
name: Release VSCode Extension '${{ inputs.extension-name }}'
|
|
steps:
|
|
- name: Checkout vscode-extension '${{ inputs.extension-name }}'
|
|
uses: actions/checkout@v4
|
|
with:
|
|
sparse-checkout: |
|
|
vscode-extensions/${{ inputs.extension-name }}
|
|
- name: Record Extension Version
|
|
id: version
|
|
run: |
|
|
base_version=`jq -r .version vscode-extensions/${{ inputs.extension-name }}/package.json`
|
|
echo "Version: ${base_version}"
|
|
echo "version=$base_version" >> $GITHUB_OUTPUT
|
|
- name: Create tag
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
github.rest.git.createRef({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
ref: 'refs/tags/${{ inputs.extension-name }}-${{ steps.version.outputs.version }}-${{ inputs.postfix }}',
|
|
sha: context.sha
|
|
})
|
|
|
|
release-build-upload:
|
|
needs: [ tag-vscode-extension ]
|
|
uses: ./.github/workflows/build-vscode-extension.yml
|
|
with:
|
|
extension-name: ${{ inputs.extension-name }}
|
|
dist: 'release'
|
|
secrets: inherit
|