diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index f49e2af..51b6a17 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -204,48 +204,6 @@ jobs: if: always() run: rm -rf /tmp/dagger-tls /tmp/stunnel-dagger.conf /tmp/stunnel.pid - publish-website: - name: Publish Website Build History - runs-on: ubuntu-latest - needs: [build-linux, deploy-playstore, deploy-apk] - if: | - always() && - (needs.build-linux.result == 'success' || needs.deploy-playstore.result == 'success' || needs.deploy-apk.result == 'success') - timeout-minutes: 60 - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Check runner tools - run: | - command -v dagger >/dev/null 2>&1 || { echo "ERROR: dagger is not installed in the runner image. Add it to .forgejo/Dockerfile."; exit 1; } - command -v task >/dev/null 2>&1 || { echo "ERROR: task is not installed in the runner image. Add it to .forgejo/Dockerfile."; exit 1; } - dpkg -s stunnel4 netcat-openbsd >/dev/null 2>&1 || { echo "ERROR: stunnel4/netcat-openbsd are not installed in the runner image. Add them to .forgejo/Dockerfile."; exit 1; } - - - name: Setup Dagger Remote Engine (via stunnel) - env: - DAGGER_STUNNEL_URL: ${{ secrets.DAGGER_STUNNEL_URL }} - DAGGER_CA_CERT: ${{ secrets.DAGGER_CA_CERT }} - DAGGER_CLIENT_CERT: ${{ secrets.DAGGER_CLIENT_CERT }} - DAGGER_CLIENT_KEY: ${{ secrets.DAGGER_CLIENT_KEY }} - run: scripts/setup_dagger_remote.sh - - - name: Generate build history and deploy website - if: ${{ secrets.SSH_PRIVATE_KEY != '' }} - env: - SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} - SSH_KNOWN_HOSTS: ${{ secrets.SSH_KNOWN_HOSTS }} - SSH_USER: ${{ secrets.SSH_USER }} - SSH_HOST: ${{ secrets.SSH_HOST }} - DAGGER_NO_NAG: "1" - run: task publish-website - - - name: Cleanup TLS credentials - if: always() - run: rm -rf /tmp/dagger-tls /tmp/stunnel-dagger.conf /tmp/stunnel.pid - label-deploy-health: name: Update Deploy Health Label runs-on: ubuntu-latest diff --git a/.forgejo/workflows/website.yml b/.forgejo/workflows/website.yml index 64c75cd..713267d 100644 --- a/.forgejo/workflows/website.yml +++ b/.forgejo/workflows/website.yml @@ -1,6 +1,8 @@ name: Update Website on: + schedule: + - cron: '0 * * * *' # every hour on the hour push: branches: [main] paths: diff --git a/Taskfile.yml b/Taskfile.yml index 481dfd3..9a6c594 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -294,7 +294,7 @@ tasks: for attempt in 1 2 3; do run_dagger "$@" && return 0 RC=$? - if [ "$attempt" -lt 3 ] && grep -qE "connection reset|context canceled|connection refused|invalid return status code" "$DAGGER_OUT"; then + if [ "$attempt" -lt 3 ] && { grep -qE "connection reset|context canceled|context deadline exceeded|connection refused|invalid return status code" "$DAGGER_OUT" || [ "$RC" -eq 2 ]; }; then echo "$(_ts) dagger: network error on attempt $attempt/3, retrying..." >&2 elif [ "$attempt" -lt 3 ] && grep -q "No space left on device" "$DAGGER_OUT"; then echo "$(_ts) dagger: disk space error on attempt $attempt/3, pruning Dagger cache..." >&2 diff --git a/scripts/check_coverage.dart b/scripts/check_coverage.dart index 931bb8a..c72a1b4 100644 --- a/scripts/check_coverage.dart +++ b/scripts/check_coverage.dart @@ -78,6 +78,7 @@ const _excluded = { 'lib/data/repositories/user_preferences_repository_impl.dart', 'lib/ui/screens/user_preferences_screen.dart', 'lib/core/services/update_service.dart', + 'lib/ui/screens/user_preferences_screen.dart', }; void main() {