name: Pull Request Pipeline on: pull_request: jobs: Lint: runs-on: ubuntu-latest if: false 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 --quiet 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" >> $GITEA_PATH - name: Get dependencies run: flutter pub get - name: Analyze Formatting run: flutter analyze lib test Test: runs-on: ubuntu-latest if: false 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 --quiet 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 - name: Get dependencies run: flutter pub get - name: Run tests run: flutter test Format: runs-on: ubuntu-latest if: false 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 --progress=dot: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 - name: Get dependencies run: flutter pub get - name: Check code format id: check_format continue-on-error: true run: flutter analyze lib test - name: Format code if: steps.check_format.outcome == 'failure' env: GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} run: | 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 "" 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 steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.BOT_TOKEN }} ref: ${{ gitea.head_ref }} - name: Update version 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 "" git add pubspec.yaml git commit -m "Updated version number [skip ci]" git push origin HEAD:${{ gitea.head_ref }}