name: ci on: push: paths: - "back001/**" - "front001/**" - ".forgejo/workflows/**" - "ci/**" pull_request: jobs: changes: runs-on: docker steps: - uses: https://github.com/actions/checkout@v4 with: fetch-depth: 0 - id: filter uses: https://github.com/dorny/paths-filter@v3 with: filters: | backend: - 'back001/**' - '.forgejo/workflows/**' - 'ci/**' frontend: - 'front001/**' - '.forgejo/workflows/**' - 'ci/**' outputs: backend: ${{ steps.filter.outputs.backend }} frontend: ${{ steps.filter.outputs.frontend }} backend: needs: changes if: needs.changes.outputs.backend == 'true' runs-on: docker container: image: forgejo.okit.pl/oskar/ci-gradle-node:8.7-jdk17 steps: - uses: https://github.com/actions/checkout@v4 - uses: https://github.com/actions/cache@v4 with: path: | /home/gradle/.gradle/caches /home/gradle/.gradle/wrapper key: gradle-${{ runner.os }}-${{ hashFiles('back001/**/*.gradle*', 'back001/**/gradle-wrapper.properties') }} restore-keys: | gradle-${{ runner.os }}- - name: Test + build (backend) working-directory: back001 run: ./gradlew test build --no-daemon flutter: needs: changes if: needs.changes.outputs.frontend == 'true' runs-on: docker container: image: forgejo.okit.pl/oskar/ci-flutter-node:stable steps: - uses: https://github.com/actions/checkout@v4 - uses: https://github.com/actions/cache@v4 with: path: | /root/.pub-cache key: pub-${{ runner.os }}-${{ hashFiles('front001/mosenioring/pubspec.lock') }} restore-keys: | pub-${{ runner.os }}- - name: Pub get working-directory: front001/mosenioring run: flutter pub get - name: Analyze (non-blocking for now) working-directory: front001/mosenioring run: flutter analyze || true - name: Test working-directory: front001/mosenioring run: flutter test