From c7b4623198a085cb641fc026d3dcbe3ef73f4472 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 20 Jan 2026 10:48:49 +0000 Subject: [PATCH] Workflows um Format Stage erweitern (#175) Extend workflows with format stage Co-authored-by: Gitea Actions [bot] <> Reviewed-on: https://git.yannick-weigert.de/liquid-development/game-tracker/pulls/175 Reviewed-by: gelbeinhalb --- .gitea/workflows/pull_request.yaml | 28 +++----- .gitea/workflows/push.yaml | 103 +++++++++++++++++++++-------- 2 files changed, 86 insertions(+), 45 deletions(-) diff --git a/.gitea/workflows/pull_request.yaml b/.gitea/workflows/pull_request.yaml index 43d36d2..5b88cdf 100644 --- a/.gitea/workflows/pull_request.yaml +++ b/.gitea/workflows/pull_request.yaml @@ -6,23 +6,17 @@ on: jobs: lint: runs-on: ubuntu-latest + steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install jq - run: | - apt-get update - apt-get install -y jq - - name: Install Flutter (wget) run: | - wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz tar xf flutter_linux_3.38.2-stable.tar.xz - # Set Git safe directory for Flutter path git config --global --add safe.directory "$(pwd)/flutter" - # Set Flutter path - echo "$(pwd)/flutter/bin" >> $GITHUB_PATH + echo "$(pwd)/flutter/bin" >> $GITEA_PATH - name: Get dependencies run: flutter pub get @@ -32,26 +26,22 @@ jobs: test: runs-on: ubuntu-latest + env: + RUNNER_TOOL_CACHE: /toolcache + steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt-get update - apt-get install -y jq - - name: Install Flutter (wget) run: | - wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz tar xf flutter_linux_3.38.2-stable.tar.xz - # Set Git safe directory for Flutter path git config --global --add safe.directory "$(pwd)/flutter" - # Set Flutter path - echo "$(pwd)/flutter/bin" >> $GITHUB_PATH + echo "$(pwd)/flutter/bin" >> $GITEA_PATH - name: Get dependencies run: flutter pub get - name: Run tests - run: flutter test \ No newline at end of file + run: flutter test diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 700e96b..dfcee5f 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -7,44 +7,95 @@ on: - "main" jobs: - format: + test: runs-on: ubuntu-latest - if: false # Needs bot user steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install dependencies + - name: Install Flutter (wget) run: | - apt-get update - apt-get install -y jq + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + tar xf flutter_linux_3.38.2-stable.tar.xz + git config --global --add safe.directory "$(pwd)/flutter" + echo "$(pwd)/flutter/bin" >> $GITEA_PATH + + - name: Get dependencies + run: flutter pub get + + - name: Run tests + run: flutter test + + format: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 - name: Install Flutter (wget) run: | - wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz tar xf flutter_linux_3.38.2-stable.tar.xz - # Set Git safe directory for Flutter path git config --global --add safe.directory "$(pwd)/flutter" - # Set Flutter path - echo "$(pwd)/flutter/bin" >> $GITHUB_PATH + echo "$(pwd)/flutter/bin" >> $GITEA_PATH - - name: Get & upgrade dependencies - run: | - flutter pub get - flutter pub upgrade --major-versions + - name: Get dependencies + run: flutter pub get - - name: Auto-format - run: | - dart format lib - dart fix --apply lib + - name: Check code format + id: check_format + continue-on-error: true + run: flutter analyze lib test - # Needs credentials, push access and the right files need to be staged - - name: Commit Changes + - name: Format code + if: steps.check_format.outcome == 'failure' + env: + GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} run: | - git config --global user.name "Gitea Actions" - git config --global user.email "actions@gitea.com" - git status - git add lib/ - git status - git commit -m "Actions: Auto-formatting [skip ci]" - git push + git fetch origin ${{ gitea.head_ref }} + git checkout ${{ gitea.head_ref }} + + dart fix --apply lib + dart fix --apply test + + if [ -n "$(git status --porcelain lib test)" ]; then + git config --global user.name "Gitea Actions [bot]" + git config --global user.email "actions@yannick-weigert.de" + git add lib test + git commit -m "Auto-format code [skip ci]" + git push origin HEAD:${{ gitea.head_ref }} + else + echo "No changes to commit" + fi + + - name: Verify format + run: flutter analyze lib test + + update_version: + runs-on: ubuntu-latest + needs: Format + if: gitea.ref == 'refs/heads/development' + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.BOT_TOKEN }} + ref: ${{ gitea.head_ref }} + + - name: Increment version number + uses: https://github.com/stikkyapp/update-pubspec-version@v2 + with: + strategy: 'patch' + path: './pubspec.yaml' + + + - name: Commit version update + env: + GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} + run: | + git config --global user.name "Gitea Actions [bot]" + git config --global user.email "actions@yannick-weigert.de" + git add pubspec.yaml + git commit -m "Updated version number [skip ci]" + git push origin HEAD:${{ gitea.head_ref }} \ No newline at end of file