Skip to content

CI: update generated code #19

CI: update generated code

CI: update generated code #19

name: Update generated code
on:
pull_request:
workflow_dispatch:
jobs:
re-generate:
runs-on: ubuntu-latest
timeout-minutes: 60
permissions: write-all
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
branch_name: "robot/update-generated-code"
paths: "packages/devextreme-vue/src packages/vue2-strategy/src"
steps:
- name: Get sources
uses: actions/checkout@v3
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Setup DX Robot
shell: bash
run: |
git config --global user.email "[email protected]"
git config --global user.name "DX Robot"
- name: Check if branch exists
id: check_branch
shell: bash
run: |
git ls-remote --exit-code --quiet --heads origin $branch_name
echo "branch_exists=$((! $?))" >> $GITHUB_OUTPUT
- name: Pull branch
if: ${{ steps.check_branch.outputs.branch_exists }}
shell: bash
run: |
git fetch
git switch $branch_name --force
- name: Install packages
run: npm i
- name: Update submodule
run: npm run pull-devextreme
- name: Generate metadata
run: npm run generate-metadata
- name: Generate code
run: npm run build:packages
- name: Get changes and make PR
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
$branch_exists=${{ steps.check_branch.outputs.branch_exists }}
echo $branch_exists
git add . -N
if git diff --name-status --exit-code HEAD -- $paths; then
if ((! $branch_exists)); then
git checkout master
git checkout -b $branch_name
fi
devextreme_sha=$(git ls-tree --object-only HEAD devextreme)
git commit -a -m "Update generated code, devextreme $devextreme_sha"
git push --set-upstream origin $branch_name --force
if ((! $branch_exists)); then
gh pr create --title "Update generated code" --body "Update generated code"
fi
else
echo "Generated code is up to date"
fi