Skip to content

Manual Generate + Pre-Release #3

Manual Generate + Pre-Release

Manual Generate + Pre-Release #3

name: Manual Generate + Release
on:
workflow_dispatch:
permissions:
contents: write
jobs:
build-and-release:
name: Run generator tasks and publish release
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Set up Java 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Gradle version
run: ./gradlew --version
# Run tasks sequentially
- name: downloadAcronymizer
run: ./gradlew :generator:downloadAcronymizer --no-daemon --stacktrace
- name: downloadOtzaria
run: ./gradlew :generator:downloadOtzaria --no-daemon --stacktrace
- name: generateLines
run: ./gradlew :generator:generateLines --no-daemon --stacktrace
- name: generateLinks
run: ./gradlew :generator:generateLinks --no-daemon --stacktrace
- name: buildLuceneIndexDefault
run: ./gradlew :generator:buildLuceneIndexDefault --no-daemon --stacktrace
- name: packageArtifacts
run: ./gradlew :generator:packageArtifacts --no-daemon --stacktrace
- name: List split parts
run: |
set -euo pipefail
echo "Looking for split parts..."
PARTS=(generator/build/package/seforim_bundle.tar.zst.part*)
if [ ${#PARTS[@]} -eq 0 ] || [ "${PARTS[0]}" = "generator/build/package/seforim_bundle.tar.zst.part*" ]; then
echo "No split parts found. Did packageArtifacts run and split the bundle?" >&2
exit 1
fi
if [ ${#PARTS[@]} -ne 2 ]; then
echo "Expected 2 split parts, found ${#PARTS[@]}" >&2
ls -lh generator/build/package/ || true
exit 1
fi
echo "Found ${#PARTS[@]} part file(s):"
ls -lh "${PARTS[@]}"
- name: Compute tag name (UTC)
id: meta
shell: bash
run: |
TAG=$(date -u +"%Y%m%d%H%M%S")
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
echo "Computed tag: ${TAG}"
- name: Create GitHub Release and upload assets
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.meta.outputs.tag }}
name: ${{ steps.meta.outputs.tag }}
draft: false
prerelease: false
files: |
generator/build/package/seforim_bundle.tar.zst.part*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}