# Per-push gate for git.comunes.org (Forgejo Actions): analyze + tests. # Flutter pinned to the developer toolchain (3.41.9). # # NOTE: `runs-on` must match a label your Forgejo runner registered with. # We check out with plain git (a `run:` step) instead of actions/checkout@v4: # the cirruslabs/flutter image has no Node.js, and JS-based actions need it # ("exec: node: not found"). Manual checkout keeps the workflow Node-free. name: ci on: push: branches: ['**'] pull_request: jobs: analyze: runs-on: docker container: image: ghcr.io/cirruslabs/flutter:3.41.9 steps: - name: Checkout env: TOKEN: ${{ github.token }} run: | git config --global --add safe.directory '*' git init -q . git remote add origin "http://x-access-token:${TOKEN}@forgejo:3000/${GITHUB_REPOSITORY}.git" git fetch -q --depth 1 origin "${GITHUB_SHA}" git checkout -q FETCH_HEAD - run: flutter pub get - name: Generate code (json_serializable) run: dart run build_runner build --delete-conflicting-outputs - run: flutter analyze test: runs-on: docker container: image: ghcr.io/cirruslabs/flutter:3.41.9 steps: - name: Checkout env: TOKEN: ${{ github.token }} run: | git config --global --add safe.directory '*' git init -q . git remote add origin "http://x-access-token:${TOKEN}@forgejo:3000/${GITHUB_REPOSITORY}.git" git fetch -q --depth 1 origin "${GITHUB_SHA}" git checkout -q FETCH_HEAD - run: flutter pub get - name: Generate code + test run: | dart run build_runner build --delete-conflicting-outputs flutter test