compose-viz/.github/workflows/update-submodules.yml

80 lines
2.3 KiB
YAML
Raw Normal View History

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.`,
});