From af5f4d754b2899f93be855ac3e8c2eeeb439b5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gremaud?= Date: Thu, 28 Nov 2024 07:40:53 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Improve=20release=20wor?= =?UTF-8?q?kflow=20(#10)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ Add job name for version bump and conditionally commit changes in release workflow * 🔧 Update leader election configuration parameters for improved timing * 👷 Update release workflow to lock dependencies after version bump --- .github/workflows/release.yml | 35 ++++++++++++++++++++++--------- tests/sync/test_leaderelection.py | 8 +++---- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cea153e..c8d4bab 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,21 +7,33 @@ on: jobs: bump-version: + name: Bump version runs-on: ubuntu-latest steps: - - name: Generate a token - id: generate_token + - name: Generate GitHub App Token uses: actions/create-github-app-token@v1 + id: app-token with: app-id: ${{ secrets.GRELINFO_ID }} private-key: ${{ secrets.GRELINFO_KEY }} + - name: Get GitHub App User ID + id: user-id + run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + + - name: Configure Git App Credentials + run: | + git config --global user.name '${{ steps.app-token.outputs.app-slug }}[bot]' + git config --global user.email '${{ steps.user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}@users.noreply.github.com>' + - uses: actions/checkout@v4 with: - fetch-depth: 0 ref: ${{ github.ref_name }} - token: ${{ steps.generate_token.outputs.token }} + token: ${{ steps.app-token.outputs.token }} + persist-credentials: false - name: Install uv uses: astral-sh/setup-uv@v3 @@ -29,19 +41,22 @@ jobs: enable-cache: true - name: Get release version - run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + id: release-version + run: echo "release-version=${GITHUB_REF#refs/*/}" >> "$GITHUB_OUTPUT" - name: Get current version - run: echo "CURRENT_VERSION=$(uv run hatch version)" >> $GITHUB_ENV + id: current-version + run: echo "current-version=$(uv run hatch version)" >> "$GITHUB_OUTPUT" - name: Bump version if necessary - if: ${{ env.RELEASE_VERSION != env.CURRENT_VERSION }} - run: uv run hatch version $RELEASE_VERSION + if: ${{ steps.release-version.outputs.release-version != steps.current-version.outputs.current-version }} + run: | + uv run hatch version $RELEASE_VERSION + uv lock - name: Commit and push changes + if: ${{ steps.release-version.outputs.release-version != steps.current-version.outputs.current-version }} run: | - git config user.name "grelinfo[bot]" - git config user.email "702069+grelinfo[bot]@users.noreply.github.com" git add . git commit -m "🚀 Release $RELEASE_VERSION" git tag -f $RELEASE_VERSION diff --git a/tests/sync/test_leaderelection.py b/tests/sync/test_leaderelection.py index 8445515..d357daa 100644 --- a/tests/sync/test_leaderelection.py +++ b/tests/sync/test_leaderelection.py @@ -32,11 +32,11 @@ def configs() -> list[LeaderElectionConfig]: LeaderElectionConfig( name="test_leader_election", worker=f"worker_{i}", - lease_duration=0.01, - renew_deadline=0.008, - retry_interval=0.001, + lease_duration=0.02, + renew_deadline=0.015, + retry_interval=0.005, error_interval=0.01, - backend_timeout=0.007, + backend_timeout=0.005, ) for i in range(WORKERS) ]