Manual Generate + Pre-Release #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |