79 lines
2.3 KiB
YAML
79 lines
2.3 KiB
YAML
name: Update Submodules
|
|
|
|
on:
|
|
push:
|
|
branches: [ dev ]
|
|
schedule:
|
|
- cron: '0 0 * * *'
|
|
|
|
jobs:
|
|
check_submodules:
|
|
name: Check Submodules
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
has_changes: ${{ steps.check.outputs.has_changes }}
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Create new branch and push changes
|
|
run: |
|
|
git submodule update --remote
|
|
|
|
- name: Check for changes
|
|
id: check
|
|
run: |
|
|
git diff --quiet || echo "::set-output name=has_changes::true"
|
|
|
|
update_submodules:
|
|
name: Update Submodules
|
|
runs-on: ubuntu-latest
|
|
needs: [check_submodules]
|
|
if: needs.check_submodules.outputs.has_changes == 'true'
|
|
steps:
|
|
|
|
- name: Setup Python 3.10.4
|
|
uses: actions/setup-python@v3
|
|
with:
|
|
python-version: '3.10.4'
|
|
|
|
- name: Setup Poetry
|
|
uses: abatilo/actions-poetry@v3
|
|
with:
|
|
poetry-version: 1.8.2
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
poetry install --no-root
|
|
|
|
- name: Update Submodule
|
|
run: |
|
|
datamodel-codegen --input ./compose-spec/schema/compose-spec.json --output-model-type pydantic_v2.BaseModel --field-constraints --output ./compose_viz/spec/compose_spec.py
|
|
poetry run python ./update-submodules.py
|
|
|
|
- name: Execute pre-commit
|
|
continue-on-error: true
|
|
run: |
|
|
poetry run python -m pre_commit run --all-files
|
|
|
|
- name: Push changes
|
|
run: |
|
|
git config user.name github-actions
|
|
git config user.email github-actions@github.com
|
|
git checkout -b $GITHUB_RUN_ID
|
|
git commit -am "chore: update submodules"
|
|
git push --set-upstream origin $GITHUB_RUN_ID
|
|
|
|
- name: File PR
|
|
uses: actions/github-script@v7
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
script: |
|
|
await github.rest.pulls.create({
|
|
owner: '${{ github.repository_owner }}',
|
|
repo: 'compose-viz',
|
|
head: process.env.GITHUB_RUN_ID,
|
|
base: 'main',
|
|
title: `chore: update submodules (${process.env.GITHUB_RUN_ID})`,
|
|
body: `Please add the version tag to trigger the release.`,
|
|
});
|