diff --git a/.github/workflows/run_program.yml b/.github/workflows/run_program.yml new file mode 100644 index 0000000..a29b79e --- /dev/null +++ b/.github/workflows/run_program.yml @@ -0,0 +1,55 @@ +name: Run python script + +on: # run on commits to the main branch + push: + branches: + - main + workflow_dispatch: # run when triggered manually + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repo content + uses: actions/checkout@v4 # checkout the repository content + + - name: Setup python + uses: actions/setup-python@v4 + with: + python-version: '3.11' # install the python version needed + + - name: Configure Git identity + run: | + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Actions" + + - name: Execute python script first case + run: python build_template_from_source.py 3 4 10 + + - name: Execute python script second case + run: python build_template_from_source.py 5 2 3 + + - name: Execute python script third case + run: python build_template_from_source.py 1 10 10 + + - name: Check for changes + id: git-check + run: | + git diff --exit-code || echo "Changes found" + + - name: Stage files + if: steps.git-check.outputs.return-code == '0' + run: git add . + + - name: Commit changed files + if: steps.git-check.outputs.return-code == '0' + run: | + git commit -m "🤖 run python script" || echo "No changes to commit" + + - name: Fetch from main + if: steps.git-check.outputs.return-code == '0' + run: git fetch origin main + + - name: Push code to main + if: steps.git-check.outputs.return-code == '0' + run: git push origin HEAD:main