mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-10 01:25:21 +00:00
110 lines
3.8 KiB
YAML
110 lines
3.8 KiB
YAML
|
name: AutoReleases
|
||
|
|
||
|
env:
|
||
|
PYTHONUNBUFFERED: 1
|
||
|
|
||
|
concurrency:
|
||
|
group: autoreleases
|
||
|
|
||
|
on:
|
||
|
# schedule:
|
||
|
# - cron: '0 9 * * *'
|
||
|
workflow_dispatch:
|
||
|
inputs:
|
||
|
dry-run:
|
||
|
description: 'Dry run'
|
||
|
required: false
|
||
|
default: true
|
||
|
type: boolean
|
||
|
|
||
|
jobs:
|
||
|
AutoReleaseInfo:
|
||
|
runs-on: [self-hosted, style-checker-aarch64]
|
||
|
outputs:
|
||
|
data: ${{ steps.info.outputs.AUTO_RELEASE_PARAMS }}
|
||
|
dry_run: ${{ steps.info.outputs.DRY_RUN }}
|
||
|
steps:
|
||
|
- name: Debug Info
|
||
|
uses: ./.github/actions/debug
|
||
|
- name: Set envs
|
||
|
run: |
|
||
|
cat >> "$GITHUB_ENV" << 'EOF'
|
||
|
ROBOT_CLICKHOUSE_SSH_KEY<<RCSK
|
||
|
${{secrets.ROBOT_CLICKHOUSE_SSH_KEY}}
|
||
|
RCSK
|
||
|
EOF
|
||
|
echo "DRY_RUN=true" >> "$GITHUB_ENV"
|
||
|
- name: Check out repository code
|
||
|
uses: ClickHouse/checkout@v1
|
||
|
- name: Prepare Info
|
||
|
id: info
|
||
|
run: |
|
||
|
cd "$GITHUB_WORKSPACE/tests/ci"
|
||
|
python3 auto_release.py --prepare
|
||
|
echo "::group::Auto Release Info"
|
||
|
python3 -m json.tool /tmp/autorelease_info.json
|
||
|
echo "::endgroup::"
|
||
|
{
|
||
|
echo 'AUTO_RELEASE_PARAMS<<EOF'
|
||
|
cat /tmp/autorelease_info.json
|
||
|
echo 'EOF'
|
||
|
} >> "$GITHUB_ENV"
|
||
|
{
|
||
|
echo 'AUTO_RELEASE_PARAMS<<EOF'
|
||
|
cat /tmp/autorelease_info.json
|
||
|
echo 'EOF'
|
||
|
} >> "$GITHUB_OUTPUT"
|
||
|
echo "DRY_RUN=true" >> "$GITHUB_OUTPUT"
|
||
|
- name: Post Release Branch statuses
|
||
|
run: |
|
||
|
cd "$GITHUB_WORKSPACE/tests/ci"
|
||
|
python3 auto_release.py --post-status
|
||
|
- name: Clean up
|
||
|
uses: ./.github/actions/clean
|
||
|
|
||
|
Release_0:
|
||
|
needs: AutoReleaseInfo
|
||
|
name: Release ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[0].release_branch }}
|
||
|
if: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[0] && fromJson(needs.AutoReleaseInfo.outputs.data).releases[0].ready }}
|
||
|
uses: ./.github/workflows/create_release.yml
|
||
|
with:
|
||
|
ref: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[0].commit_sha }}
|
||
|
type: patch
|
||
|
dry-run: ${{ needs.AutoReleaseInfo.outputs.dry_run }}
|
||
|
#
|
||
|
# Release_1:
|
||
|
# needs: [AutoReleaseInfo, Release_0]
|
||
|
# name: Release ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[1].release_branch }}
|
||
|
# if: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[1] && fromJson(needs.AutoReleaseInfo.outputs.data).releases[1].ready }}
|
||
|
# uses: ./.github/workflows/create_release.yml
|
||
|
# with:
|
||
|
# ref: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[1].commit_sha }}
|
||
|
# type: patch
|
||
|
# dry-run: ${{ env.DRY_RUN }}
|
||
|
#
|
||
|
# Release_2:
|
||
|
# needs: [AutoReleaseInfo, Release_1]
|
||
|
# name: Release ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[2].release_branch }}
|
||
|
# if: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[0] && fromJson(needs.AutoReleaseInfo.outputs.data).releases[2].ready }}
|
||
|
# uses: ./.github/workflow/create_release.yml
|
||
|
# with:
|
||
|
# ref: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[0].commit_sha }}
|
||
|
# type: patch
|
||
|
# dry-run: ${{ env.DRY_RUN }}
|
||
|
#
|
||
|
# Release_3:
|
||
|
# needs: [AutoReleaseInfo, Release_2]
|
||
|
# name: Release ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[3].release_branch }}
|
||
|
# if: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[3] && fromJson(needs.AutoReleaseInfo.outputs.data).releases[3].ready }}
|
||
|
# uses: ./.github/workflow/create_release.yml
|
||
|
# with:
|
||
|
# ref: ${{ fromJson(needs.AutoReleaseInfo.outputs.data).releases[3].commit_sha }}
|
||
|
# type: patch
|
||
|
# dry-run: ${{ env.DRY_RUN }}
|
||
|
|
||
|
# - name: Post Slack Message
|
||
|
# if: ${{ !cancelled() }}
|
||
|
# run: |
|
||
|
# cd "$GITHUB_WORKSPACE/tests/ci"
|
||
|
# python3 auto_release.py --post-auto-release-complete --wf-status ${{ job.status }}
|