etherpad-lite/.github/workflows/release.yml
2025-08-02 13:45:17 +02:00

83 lines
2.4 KiB
YAML

name: Release etherpad
on:
workflow_dispatch:
inputs:
release_type:
description: 'Choose the type of release to create'
required: true
default: 'patch'
type: choice
options:
- patch
- minor
- major
jobs:
releases:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
repository: ether/etherpad-lite
path: etherpad
token: '${{ secrets.ETHER_RELEASE_TOKEN }}'
fetch-depth: '0'
fetch-tags: 'true'
- name: Checkout master
working-directory: etherpad
run: |
git fetch origin master
git checkout master
git reset --hard origin/master
- name: Checkout develop
working-directory: etherpad
run: |
git fetch origin develop
git checkout develop
git reset --hard origin/develop
- name: Checkout repository
uses: actions/checkout@v4
with:
repository: ether/ether.github.com
path: ether.github.com
token: '${{ secrets.ETHER_RELEASE_TOKEN }}'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Install dependencies etherpad
run: pnpm install --frozen-lockfile
working-directory: etherpad
- name: Install dependencies ether.github.com
run: pnpm install --frozen-lockfile
working-directory: ether.github.com
- name: Set git user
run: |
git config --global user.name "Etherpad Release Bot"
git config --global user.email "noreply@etherpad.org"
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- uses: reitzig/actions-asciidoctor@v2.0.2
with:
version: 2.0.18
- name: Prepare release
working-directory: etherpad
run: |
cd bin
pnpm run release ${{ inputs.release_type }}
- name: Push after release
working-directory: etherpad
run: |
./bin/push-after-release.sh