74 lines
2.5 KiB
YAML
Vendored
74 lines
2.5 KiB
YAML
Vendored
name: Preview Generated Code
|
|
|
|
permissions:
|
|
contents: write
|
|
statuses: write
|
|
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- edited
|
|
- opened
|
|
- synchronize
|
|
- converted_to_draft
|
|
- ready_for_review
|
|
|
|
jobs:
|
|
build_preview_generated_code:
|
|
name: Build Preview of Generated Code
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '21'
|
|
|
|
- name: Configure Git User
|
|
run: |
|
|
git config --global user.email "actions@github.com"
|
|
git config --global user.name "GitHub Actions"
|
|
|
|
- name: Run Gradle task
|
|
timeout-minutes: 60
|
|
run: ./gradlew processKDocsMain korro
|
|
|
|
- name: Check for changes in generated sources
|
|
id: git-diff
|
|
run: echo "changed=$(if git diff --quiet './core/generated-sources' './dataframe-csv/generated-sources' './docs/StardustDocs/resources/snippets' './docs/StardustDocs/topics'; then echo 'false'; else echo 'true'; fi)" >> $GITHUB_OUTPUT
|
|
|
|
- name: Commit and push if changes
|
|
id: git-commit
|
|
if: steps.git-diff.outputs.changed == 'true'
|
|
run: |
|
|
git checkout -b generated-sources/docs-update-${{ github.run_number }}
|
|
git add './core/generated-sources' './dataframe-csv/generated-sources' './docs/StardustDocs/resources/snippets' './docs/StardustDocs/topics'
|
|
git commit -m "Update generated sources with recent changes"
|
|
git push origin generated-sources/docs-update-${{ github.run_number }}
|
|
echo "commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
|
|
|
- name: Update status to PR
|
|
uses: actions/github-script@v7
|
|
if: steps.git-diff.outputs.changed == 'true'
|
|
with:
|
|
# language=js
|
|
script: |
|
|
await github.rest.repos.createCommitStatus({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
sha: context.payload.pull_request.head.sha,
|
|
state: "success",
|
|
target_url: "https://github.com/${{ github.repository }}/commit/${{ steps.git-commit.outputs.commit }}",
|
|
context: "Generated sources will change, merging this PR",
|
|
description: "Check 'Details' to inspect changes ->"
|
|
});
|
|
|