diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..01e8bce --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,63 @@ +name: main + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.11'] + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - uses: Gr1N/setup-poetry@v8 + + - name: Check dependencies + run: make doctor + + - uses: actions/cache@v4 + with: + path: .venv + key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }} + + - name: Install dependencies + run: make install + + - name: Check everything + run: make all + + - name: Checkout demo repo + if: github.ref_name == 'main' && github.event_name != 'pull_request' + uses: actions/checkout@v4 + with: + repository: jacebrowning/template-python-demo + path: temp + + - name: Test template in demo repo + if: github.ref_name == 'main' && github.event_name != 'pull_request' + run: | + # Configure Git with GHA information, for more info see: + # https://github.com/actions/checkout?tab=readme-ov-file#push-a-commit-using-the-built-in-token + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + # Delete the current repository + rm -rf .git + + # Setup the destination repository + mv temp/.git TemplateDemo/.git + rm -rf temp + + # Rebuild the repository from the generated files and push to GitHub + cd TemplateDemo + git add --all + git commit -m "Deploy GHA build ${{ github.run_id }} to GitHub" + git push