name: Regenerate Integration Tests on: workflow_dispatch: inputs: debug: description: 'Enable debug mode' type: boolean default: true log_to_file: description: 'Enable logging to file' type: boolean default: true force_regenerate_tests: description: 'Force regeneration of tests' type: boolean default: false force_use_llm: description: 'Force use of LLM' type: boolean default: false jobs: regenerate_integration_tests: if: github.ref != 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v3 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Cache Poetry dependencies uses: actions/cache@v4 with: path: | ~/.cache/pypoetry ~/.virtualenvs key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} restore-keys: | ${{ runner.os }}-poetry- - name: Install poetry via pipx run: pipx install poetry - name: Install Python dependencies using Poetry run: make install-python-dependencies - name: Build Environment run: make build - name: Regenerate integration tests run: | DEBUG=${{ inputs.debug }} \ LOG_TO_FILE=${{ inputs.log_to_file }} \ FORCE_REGENERATE=${{ inputs.force_regenerate_tests }} \ FORCE_USE_LLM=${{ inputs.force_use_llm }} \ ./tests/integration/regenerate.sh - name: Commit changes run: | if git diff --quiet --exit-code; then echo "No changes to commit" exit 0 fi git config --global user.name 'github-actions[bot]' git config --global user.email 'github-actions[bot]@users.noreply.github.com' git add . # run it twice in case pre-commit makes changes git commit -am "Regenerate integration tests" || git commit -am "Regenerate integration tests" git push