58 lines
1.8 KiB
YAML
58 lines
1.8 KiB
YAML
|
name: Release
|
||
|
on:
|
||
|
workflow_dispatch:
|
||
|
inputs:
|
||
|
version:
|
||
|
description: Version to release (optional)
|
||
|
required: false
|
||
|
force:
|
||
|
description: Force a release even when there are release-blockers (optional)
|
||
|
required: false
|
||
|
schedule:
|
||
|
# We want the release to be at 10 or 11am Pacific Time
|
||
|
# We also make this an hour after all others such as Sentry,
|
||
|
# Snuba, and Relay to make sure their releases finish.
|
||
|
- cron: "0 18 15 * *"
|
||
|
jobs:
|
||
|
release:
|
||
|
if: github.repository_owner == 'getsentry'
|
||
|
runs-on: ubuntu-latest
|
||
|
name: "Release a new version"
|
||
|
steps:
|
||
|
- uses: actions/checkout@v4
|
||
|
with:
|
||
|
token: ${{ secrets.GH_RELEASE_PAT }}
|
||
|
fetch-depth: 0
|
||
|
- name: Prepare release
|
||
|
id: prepare-release
|
||
|
uses: getsentry/action-prepare-release@v1
|
||
|
env:
|
||
|
GITHUB_TOKEN: ${{ secrets.GH_RELEASE_PAT }}
|
||
|
with:
|
||
|
version: ${{ github.event.inputs.version }}
|
||
|
force: ${{ github.event.inputs.force }}
|
||
|
calver: true
|
||
|
outputs:
|
||
|
release-version: ${{ env.RELEASE_VERSION }}
|
||
|
dogfood-release:
|
||
|
if: github.repository_owner == 'getsentry'
|
||
|
runs-on: ubuntu-latest
|
||
|
name: Create release on self-hosted dogfood instance
|
||
|
needs: release
|
||
|
steps:
|
||
|
- uses: actions/checkout@v4
|
||
|
with:
|
||
|
token: ${{ secrets.GH_RELEASE_PAT }}
|
||
|
fetch-depth: 0
|
||
|
- uses: getsentry/action-release@v1
|
||
|
env:
|
||
|
SENTRY_ORG: self-hosted
|
||
|
SENTRY_PROJECT: installer
|
||
|
SENTRY_URL: https://self-hosted.getsentry.net/
|
||
|
SENTRY_AUTH_TOKEN: ${{ secrets.SELF_HOSTED_RELEASE_TOKEN }}
|
||
|
with:
|
||
|
environment: production
|
||
|
version: ${{ needs.release.outputs.release-version }}
|
||
|
ignore_empty: true
|
||
|
ignore_missing: true
|