Consume same power and follow same range limits as the Wireless Interface Terminal #89
Workflow file for this run
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: build | |
| on: | |
| push: | |
| pull_request: | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| env: | |
| CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '25-ea' | |
| - name: Cache Gradle and RFG | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.gradle/caches | |
| ~/.gradle/wrapper | |
| ~/.gradle/jdks | |
| key: gradle-${{ runner.os }}-rfg-1_12_2-${{ hashFiles('**/*.gradle*', 'gradle/wrapper/gradle-wrapper.properties') }} | |
| restore-keys: | | |
| gradle-${{ runner.os }}-rfg-1_12_2- | |
| - name: Make gradlew executable | |
| run: chmod +x gradlew | |
| - name: Make scripts executable | |
| run: chmod +x .github/scripts/*.sh | |
| - name: Build | |
| run: | | |
| ./gradlew --version | |
| ./gradlew setupDecompWorkspace --info | |
| ./gradlew build --info | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cell-terminal-jar | |
| path: build/libs/*.jar | |
| - name: Publish GitHub Release (tags only) | |
| if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| TAG="${GITHUB_REF##*/}" | |
| TAG_COMMIT=$(git rev-list -n 1 "$TAG") | |
| NOTES_FILE="/tmp/release_notes.md" | |
| .github/scripts/build_release_notes.sh "$TAG" "${GITHUB_REPOSITORY%/*}" "${GITHUB_REPOSITORY#*/}" "$TAG_COMMIT" "${GITHUB_SERVER_URL:-https://github.com}" > "$NOTES_FILE" | |
| echo "Generated release notes:" >&2 | |
| sed 's/^/ /' "$NOTES_FILE" >&2 | |
| gh release create "$TAG" build/libs/*.jar \ | |
| --title "Cell Terminal $TAG" \ | |
| --notes-file "$NOTES_FILE" \ | |
| $(if [[ "$TAG" =~ [ab]|rc|pre ]]; then echo "--prerelease"; fi) | |
| - name: Publish to CurseForge (tags only; infer release type) | |
| if: ${{ env.CURSEFORGE_TOKEN != '' && startsWith(github.ref, 'refs/tags/') }} | |
| working-directory: . | |
| env: | |
| CURSEFORGE_TOKEN: ${{ env.CURSEFORGE_TOKEN }} | |
| GIT_TAG: ${{ github.ref_name }} | |
| run: | | |
| set -euo pipefail | |
| TAG="${GIT_TAG:-${GITHUB_REF##*/}}" | |
| VERSION_DISPLAY=$(echo "$TAG" | sed -E 's/^v//') | |
| LOWER=$(echo "$TAG" | tr '[:upper:]' '[:lower:]') | |
| RELEASE_TYPE=release | |
| if [[ "$LOWER" == *alpha* ]]; then | |
| RELEASE_TYPE=alpha | |
| elif [[ "$LOWER" == *beta* || "$LOWER" == *rc* || "$LOWER" == *pre* ]]; then | |
| RELEASE_TYPE=beta | |
| else | |
| CORE=$(echo "$LOWER" | sed -E 's/^v//') | |
| if [[ "$CORE" =~ ^[0-9]+(\.[0-9]+)*a([0-9]*)?$ ]]; then | |
| RELEASE_TYPE=alpha | |
| elif [[ "$CORE" =~ ^[0-9]+(\.[0-9]+)*b([0-9]*)?$ ]]; then | |
| RELEASE_TYPE=beta | |
| fi | |
| fi | |
| TAG_COMMIT=$(git rev-list -n 1 "$TAG") | |
| CL=$(.github/scripts/build_release_notes.sh "$TAG" "${GITHUB_REPOSITORY%/*}" "${GITHUB_REPOSITORY#*/}" "$TAG_COMMIT" "${GITHUB_SERVER_URL:-https://github.com}") | |
| ./gradlew curseforge --no-daemon \ | |
| -Ppublish_to_curseforge=true \ | |
| -Prelease_type="$RELEASE_TYPE" \ | |
| -Pcurseforge_changelog="$CL" \ | |
| -Pcurseforge_display_name="Cell Terminal $VERSION_DISPLAY" |