Update release.yml

This commit is contained in:
JamJan05 2026-05-25 12:48:02 +02:00 committed by GitHub
parent c07a4e4e6c
commit 98d665660e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5,9 +5,17 @@ on:
branches:
- safety-O
tags:
- "*-beta"
- "*-beta.*"
- "*-alpha"
- "*-alpha.*"
- "*-rc"
- "*-rc.*"
release:
types:
- published
workflow_dispatch:
concurrency:
@ -21,16 +29,18 @@ jobs:
build:
name: Check and build plugin
runs-on: ubuntu-latest
outputs:
release_version: ${{ steps.release_version.outputs.version }}
publish_release: ${{ steps.release_eligibility.outputs.publish }}
release_sha: ${{ steps.release_eligibility.outputs.sha }}
release_tag: ${{ steps.release_version.outputs.tag }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.release.target_commitish || github.ref }}
- name: Setup Node.js
uses: actions/setup-node@v4
@ -45,12 +55,21 @@ jobs:
id: release_version
shell: bash
run: |
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
echo "version=${GITHUB_REF_NAME}" >> "${GITHUB_OUTPUT}"
if [[ "${GITHUB_EVENT_NAME}" == "release" ]]; then
echo "version=${{ github.event.release.tag_name }}" >> "${GITHUB_OUTPUT}"
echo "tag=${{ github.event.release.tag_name }}" >> "${GITHUB_OUTPUT}"
exit 0
fi
node -p '"version=" + require("./package.json").version' >> "${GITHUB_OUTPUT}"
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
echo "version=${GITHUB_REF_NAME}" >> "${GITHUB_OUTPUT}"
echo "tag=${GITHUB_REF_NAME}" >> "${GITHUB_OUTPUT}"
exit 0
fi
VERSION="$(node -p 'require("./package.json").version')"
echo "version=${VERSION}" >> "${GITHUB_OUTPUT}"
echo "tag=" >> "${GITHUB_OUTPUT}"
- name: Sync build metadata
env:
@ -94,15 +113,16 @@ jobs:
shell: bash
run: |
publish=false
release_sha="${GITHUB_SHA}"
if [[ "${GITHUB_EVENT_NAME}" == "push" && "${GITHUB_REF}" == refs/tags/* && "${GITHUB_REF_NAME}" == *-* ]]; then
release_sha="$(git rev-list -n 1 "${GITHUB_REF_NAME}")"
if [[ "${GITHUB_EVENT_NAME}" == "release" ]]; then
if [[ "${{ github.event.release.prerelease }}" == "true" && "${{ github.event.release.tag_name }}" == *-* ]]; then
publish=true
fi
elif [[ "${GITHUB_EVENT_NAME}" == "push" && "${GITHUB_REF}" == refs/tags/* && "${GITHUB_REF_NAME}" == *-* ]]; then
publish=true
fi
echo "publish=${publish}" >> "${GITHUB_OUTPUT}"
echo "sha=${release_sha}" >> "${GITHUB_OUTPUT}"
- name: Lint
run: npm run lint --if-present
@ -127,10 +147,12 @@ jobs:
manifest.json
prerelease:
name: Publish GitHub prerelease
name: Publish GitHub prerelease assets
runs-on: ubuntu-latest
needs: build
if: needs.build.outputs.publish_release == 'true'
permissions:
contents: write
@ -140,13 +162,11 @@ jobs:
with:
name: ai-vault-plugin
- name: Create prerelease
- name: Upload prerelease assets
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
tag_name: ${{ needs.build.outputs.release_tag }}
name: ${{ needs.build.outputs.release_version }}
target_commitish: ${{ needs.build.outputs.release_sha }}
generate_release_notes: true
prerelease: true
make_latest: false
files: |