112 lines
4.1 KiB
YAML
112 lines
4.1 KiB
YAML
name: Cut branches
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
element-desktop:
|
|
description: Prepare element-desktop
|
|
required: true
|
|
type: boolean
|
|
default: true
|
|
element-web:
|
|
description: Prepare element-web
|
|
required: true
|
|
type: boolean
|
|
default: true
|
|
matrix-js-sdk:
|
|
description: Prepare matrix-js-sdk
|
|
required: true
|
|
type: boolean
|
|
default: true
|
|
permissions: {} # Uses ELEMENT_BOT_TOKEN instead
|
|
jobs:
|
|
prepare:
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
# The order is specified bottom-up to avoid any races for allchange
|
|
REPOS: matrix-js-sdk element-web element-desktop
|
|
steps:
|
|
- name: Checkout Element Desktop
|
|
uses: actions/checkout@v4
|
|
if: inputs.element-desktop
|
|
with:
|
|
repository: element-hq/element-desktop
|
|
path: element-desktop
|
|
ref: staging
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
|
- name: Checkout Element Web
|
|
uses: actions/checkout@v4
|
|
if: inputs.element-web
|
|
with:
|
|
repository: element-hq/element-web
|
|
path: element-web
|
|
ref: staging
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
|
- name: Checkout Matrix JS SDK
|
|
uses: actions/checkout@v4
|
|
if: inputs.matrix-js-sdk
|
|
with:
|
|
repository: matrix-org/matrix-js-sdk
|
|
path: matrix-js-sdk
|
|
ref: staging
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
|
|
|
- name: Prepare Git
|
|
run: |
|
|
git config --global user.email "releases@riot.im"
|
|
git config --global user.name "RiotRobot"
|
|
|
|
- name: Merge Element Desktop
|
|
if: inputs.element-desktop
|
|
run: |
|
|
git -C "element-desktop" merge origin/develop
|
|
- name: Merge Element Web
|
|
if: inputs.element-web
|
|
run: |
|
|
git -C "element-web" merge origin/develop
|
|
- name: Merge JS SDK
|
|
if: inputs.matrix-js-sdk
|
|
run: |
|
|
git -C "matrix-js-sdk" merge origin/develop
|
|
|
|
- name: Push staging
|
|
run: for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" push origin staging; done
|
|
|
|
- name: Wait for matrix-js-sdk draft
|
|
if: inputs.matrix-js-sdk
|
|
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
|
|
with:
|
|
ref: staging
|
|
repo: matrix-org/matrix-js-sdk
|
|
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
|
wait-interval: 10
|
|
check-name: draft
|
|
allowed-conclusions: success
|
|
|
|
- name: Wait for element-web draft
|
|
if: inputs.element-web
|
|
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
|
|
with:
|
|
ref: staging
|
|
repo: element-hq/element-web
|
|
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
|
wait-interval: 10
|
|
check-name: draft
|
|
allowed-conclusions: success
|
|
|
|
- name: Wait for element-desktop draft
|
|
if: inputs.element-desktop
|
|
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
|
|
with:
|
|
ref: staging
|
|
repo: element-hq/element-desktop
|
|
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
|
wait-interval: 10
|
|
check-name: draft
|
|
allowed-conclusions: success
|