ci: use GH_DEPLOY_USER and GH_DEPLOY_EMAIL secrets for git user attri… #59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| pip install . | |
| - name: Run tests | |
| run: | | |
| pytest --maxfail=1 --disable-warnings | |
| tag-version: | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| needs: test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Test GH_TOKEN permissions | |
| run: | | |
| curl -v -H "Authorization: token ${{ secrets.GH_TOKEN }}" \ | |
| https://api.github.com/repos/${{ github.repository }} | |
| shell: bash | |
| - name: Set git user for hawkdeploy | |
| run: | | |
| git config user.name "${{ secrets.GH_DEPLOY_USER }}" | |
| git config user.email "${{ secrets.GH_DEPLOY_EMAIL }}" | |
| - name: Set up git for pushing | |
| run: | | |
| git remote set-url origin https://x-access-token:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}.git | |
| - name: Create and push tag for current version (with verbose logging) | |
| run: | | |
| git remote -v | |
| git tag v${{ steps.get_version.outputs.version }} | |
| git fetch origin --tags --verbose | |
| GIT_TRACE_PACKET=1 GIT_TRACE=1 GIT_CURL_VERBOSE=1 git push origin v${{ steps.get_version.outputs.version }} | |
| bump-version: | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| needs: [test, tag-version] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set git user for hawkdeploy | |
| run: | | |
| git config user.name "${{ secrets.GH_DEPLOY_USER }}" | |
| git config user.email "${{ secrets.GH_DEPLOY_EMAIL }}" | |
| - name: Set up git for pushing | |
| run: | | |
| git remote set-url origin https://x-access-token:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}.git | |
| - name: Bump patch version with bumpver | |
| run: bumpver update --patch --commit | |
| - name: Push version bump commit | |
| run: | | |
| git push |