From 5139917e4064811c2dadc153ffcf40f07f102459 Mon Sep 17 00:00:00 2001 From: Brandon Trautmann Date: Wed, 18 Sep 2024 10:00:59 -0400 Subject: [PATCH] ci: channel compatibility workflow (#123) * ci: add compat job * add install step * add comma * tweak triggers * separate failures into channel specific uploads * check all stable versions * disable fail fast * check all 3.22.x versions * use channels * use channel in flutter step * add padding * chore: Updating Goldens * add flags to flutter --version * disable analytics on CI * disable CLI animations * remove some padding to see if that helps * add back childKey * chore: Updating Goldens * add padding to network image smoke * Re-run CI after updating goldens * use TextButton * chore: Updating Goldens * Re-run CI after updating goldens * cleanup * rm ref to current branch --- .github/workflows/check_compat.yaml | 53 ++++++++++++++++++ .github/workflows/main.yaml | 6 +- .github/workflows/post_merge.yaml | 6 +- .github/workflows/update_goldens.yaml | 3 + lib/src/golden_test_adapter.dart | 7 +-- lib/src/golden_test_scenario.dart | 41 +++++++------- .../3.16.0/ci/asset_image_smoke_test.png | Bin 411 -> 342 bytes .../3.16.0/ci/back_button_smoke_test.png | Bin 273 -> 202 bytes .../ci/composited_transform_smoke_test.png | Bin 617 -> 542 bytes .../3.16.0/ci/constrained_big_smoke_test.png | Bin 42642 -> 42347 bytes .../3.16.0/ci/error_message_smoke_test.png | Bin 775 -> 633 bytes .../interactions_smoke_test_long_pressed.png | Bin 1259 -> 721 bytes .../ci/interactions_smoke_test_pressed.png | Bin 1581 -> 722 bytes .../ci/interactions_smoke_test_regular.png | Bin 1259 -> 721 bytes .../ci/render_object_text_smoke_test.png | Bin 1673 -> 1569 bytes .../3.16.0/ci/timer_button_smoke_test.png | Bin 723 -> 532 bytes .../3.16.0/ci/unconstrained_smoke_test.png | Bin 42417 -> 42347 bytes test/smoke_tests/interactions_smoke_test.dart | 6 +- .../smoke_tests/network_image_smoke_test.dart | 5 +- 19 files changed, 94 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/check_compat.yaml diff --git a/.github/workflows/check_compat.yaml b/.github/workflows/check_compat.yaml new file mode 100644 index 0000000..c2b4bf6 --- /dev/null +++ b/.github/workflows/check_compat.yaml @@ -0,0 +1,53 @@ +name: Compatibility Check + +on: + schedule: + # Run daily at 00:00 UTC + - cron: '0 0 * * *' + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + channel: ['stable', 'beta'] + + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + + - uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2.16.0 + with: + channel: ${{ matrix.channel }} + cache: true + + - name: Install Dependencies + run: flutter packages get + + - name: Disable animations + run: flutter config --no-cli-animations + + - name: Run tests + run: | + flutter test --no-pub --coverage --test-randomize-ordering-seed=random + + - name: Upload failures + if: failure() + uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 + with: + name: "golden_failures_${{ matrix.channel }}" + path: | + **/failures/**/*.png + + - name: Notify failure + if: failure() + uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 #v1.27.0 + with: + payload: | + { + "message": "Heads up! Alchemist smoke tests failed on the ${{ matrix.channel }} channel. Check them out and determine root cause.", + "job_url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.MOBILE_OSS_SLACK_WEBHOOK }} diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index f9a4918..083bc71 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -49,8 +49,12 @@ jobs: - name: Install Dependencies run: flutter packages get + - name: Disable animations + run: flutter config --no-cli-animations + - name: Run tests - run: flutter test --no-pub --coverage --test-randomize-ordering-seed=random + run: | + flutter test --no-pub --coverage --test-randomize-ordering-seed=random - name: Upload failures if: failure() diff --git a/.github/workflows/post_merge.yaml b/.github/workflows/post_merge.yaml index 6bd33a3..2184b2c 100644 --- a/.github/workflows/post_merge.yaml +++ b/.github/workflows/post_merge.yaml @@ -23,8 +23,12 @@ jobs: - name: Install Dependencies run: flutter packages get + - name: Disable animations + run: flutter config --no-cli-animations + - name: Run tests - run: flutter test --no-pub --coverage --test-randomize-ordering-seed=random + run: | + flutter test --no-pub --coverage --test-randomize-ordering-seed=random - uses: codecov/codecov-action@v2 with: diff --git a/.github/workflows/update_goldens.yaml b/.github/workflows/update_goldens.yaml index b76d1dc..cc12b22 100644 --- a/.github/workflows/update_goldens.yaml +++ b/.github/workflows/update_goldens.yaml @@ -70,6 +70,9 @@ jobs: channel: 'stable' cache: true + - name: Disable animations + run: flutter config --no-cli-animations + - name: Update Goldens run: | flutter test --update-goldens diff --git a/lib/src/golden_test_adapter.dart b/lib/src/golden_test_adapter.dart index 29b6609..1b8453b 100644 --- a/lib/src/golden_test_adapter.dart +++ b/lib/src/golden_test_adapter.dart @@ -263,11 +263,8 @@ class FlutterGoldenTestAdapter extends GoldenTestAdapter { maxWidth: constraints.maxWidth, maxHeight: constraints.maxHeight, child: Center( - child: Padding( - key: childKey, - padding: const EdgeInsets.all(8), - child: widget, - ), + key: childKey, + child: widget, ), ), ); diff --git a/lib/src/golden_test_scenario.dart b/lib/src/golden_test_scenario.dart index 0b8af8a..10746e7 100644 --- a/lib/src/golden_test_scenario.dart +++ b/lib/src/golden_test_scenario.dart @@ -70,30 +70,27 @@ class GoldenTestScenario extends StatelessWidget { @override Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(8), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Text( - name, - style: const TextStyle(fontSize: 18), - textHeightBehavior: const TextHeightBehavior( - applyHeightToFirstAscent: false, - ), + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + name, + style: const TextStyle(fontSize: 18), + textHeightBehavior: const TextHeightBehavior( + applyHeightToFirstAscent: false, ), - const SizedBox(height: 8), - ConstrainedBox( - constraints: constraints ?? - GoldenTestScenarioConstraints.maybeOf(context) ?? - const BoxConstraints(), - child: Builder( - builder: builder, - ), + ), + const SizedBox(height: 8), + ConstrainedBox( + constraints: constraints ?? + GoldenTestScenarioConstraints.maybeOf(context) ?? + const BoxConstraints(), + child: Builder( + builder: builder, ), - ], - ), + ), + ], ); } } diff --git a/test/smoke_tests/goldens/3.16.0/ci/asset_image_smoke_test.png b/test/smoke_tests/goldens/3.16.0/ci/asset_image_smoke_test.png index 51af30eadaff113cf979e65f05237874582b1d48..eb1a5a07a25c54bb7f518c499f2c615fa4ce0bfb 100644 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^DImvGkO*nf*70s{rXU6d;Z43`Etp1wdD)Jf^gYk#@GxDgz)|c7J4Rb i7bF~$S$YK_3_H;(4t4J*CpH5En8DN4&t;ucLK6UJzm#48 diff --git a/test/smoke_tests/goldens/3.16.0/ci/back_button_smoke_test.png b/test/smoke_tests/goldens/3.16.0/ci/back_button_smoke_test.png index 85a37c60420f6f3c77d93a23a05a86fc8d4f6296..f3a7501fb7e5774ea710b7b42146592ae119067d 100644 GIT binary patch delta 180 zcmbQpbc#{2Gr-TCmrII^fq{Y7)59eQNE?7K2OE$KXZqPbQBk43#M8wwB%|@|&5fJ~ z6a*Xsr>>cF%JYq^YH~`a&%{I-x7}Zao+$qbpIKZB6(8W#w5Q>0sQDhLDE{i2YS=Mo4U7Y;t9v-@HdMhk*g;I8RqU Jmvv4FO#s1MJ&FJT literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|$lvYh;uumf=j|;+-op+8tQRe~M8h2?-3wqktkQERfk$oS-T7a-W;1>;mCD_D zy4t#~zq2xn(U);c!!m{_hhPTX1)2?F7epMmGq@J8ny_AAn#Gg>mVRbh^}%ZYV)gtr w^J`z+`yw8ITPeCp)9PB)m*Y1bq~$aFie>EkW8Pkz1oQ@jr>mdKI;Vst03|wDQ2+n{ diff --git a/test/smoke_tests/goldens/3.16.0/ci/composited_transform_smoke_test.png b/test/smoke_tests/goldens/3.16.0/ci/composited_transform_smoke_test.png index b548e7e8d006a396dce91efd9cd66b169b768b0a..1f5053124caa68e6dc282c78479fd6d023c0ab97 100644 GIT binary patch delta 523 zcmV+m0`&dq1fB#TiBL{Q4GJ0x0000DNk~Le0000+0000O2nGNE07t5e1Cb#ge*wrz zL_t(oh3%NTP8&fKK+kx0VQotYfrDibHe=&IU)1@3xrX7>|*m1wY@!R67oyg(S>f4?Af7u z)|69kaPjsdr{x2*@1Z@1VdIRpQcm)HP(34j^Ny+xFuvC@b)3;)U`m`p=l5*%^ny3u z&@31)c9CtB)APxh6UBn@sKrRQR)UX^6E%?Jo|C>>N=_6n#m;Wj;xE?J+!c>ZU$+1N N002ovPDHLkV1mw1@lOB% delta 599 zcmbQo@{&cdGr-TCmrII^fq{Y7)59eQNQVKj1_v9EOsV5_o2V#X&m`>W;uw72;9qpJ)QVrHCwd)a+%kO%AW z;x`s6mrdT~V}98}SUae_P$_K5zf)I|T(j(gJ4ILSU%nw?qSY*?+iNEVP3Bt`owqVz zL6YmMls|z-{j@^;;`;pJ4hK0OYPGQU^Nag=!)J1>Z(IE>wP~}aWIG1C?z?nu{;I-f zudH_W$9<@Lox8p;RdVx2KV9z?>-G4O)^4oX@&Ao`jHiZ*n8J+i3xBy{B9F!F;|R=8 zTUqxyl08djWY#a+ubuHOXy`#GHlf^$6=dI(7{%yN+ zt{(e#`3=`A+WVACL^cFpTsr0TJKNm1lke?v_Ew)^A@%Ck$_#@IDa`3F(`1*&3q0F3 z%T)NO-IkoGuWM3QMjf5inep7iCS;m~_f@UyndyA`-ep&{&fO|{$M)+4zpnH=fsI(u a55C?-4-9oL>uv?66$VdNKbLh*2~7aSYZPz* diff --git a/test/smoke_tests/goldens/3.16.0/ci/constrained_big_smoke_test.png b/test/smoke_tests/goldens/3.16.0/ci/constrained_big_smoke_test.png index e9be51a795b0462cb200ef11aed43507a91965d5..ceade409e5fdef39c6b05eb19a0ebcb4577da329 100644 GIT binary patch literal 42347 zcmeI*&r8#B9LMqZXxeld7G)X@cIeQdgNBDd1RayPLl)*ih+w6c3N#TcA!w|N9$I!O zi0BUp8g*&})$At`bnJ&ogm{U}gCNwU`hIlp@8=T+dD!6_JqMz1r~7_=d|vPOzK*Y7 zrw;d~>T7q^ib#FBC)pZvWCOHS?Vk%k7x{q96Qw``iH*+_zEabI z1QJGo`KdWT0txy-Gk`>8Bu>1|SD8nu{(kh(U}`k%KWZuGUN4MFVUR$=du^HSD8~Q^ z`hkAX3?PAo5nw864v;{Ce$WgcfrJrYDrydpKq9dH@O1q}$r{7%)%cz2`oWt0_FMpQ z?(r6wN>h#m67+*+00|_F08>$OfCLisgJu8;B#Z!4QFDL<67+*+00|_FKmev8@J0IXNg*Nf?*D})3RMu3^6IjFqEx(k$Lt7c-lIT0$gKmrN+K{J2^5=MZjs5w9a z3Hm`ZfCLgofT^fCKmrN+K{J2^5=J2SQ}NUvFG{vAvSb%fs1ySUB!qs@5FmksClHva zcsca#rAYXFI@#49r2S%F{5}a#T38iUWmOF(ZSA(6@b E0$bM#F#rGn literal 42642 zcmeI5%}Z2K7>Cd3;Ed+SD5g;=H*g`Xq9BOGX4KG$5EG$VL@pwV+K7>gqdDUu1Ht(N z+O?@gVzp=yeGpa?QMrkr4-%6iMv~kVlGHuwd(U828Y2$)3=DVPxp430InVn$XD%1! zVq-&HPS)lurBqI^zP3rJ4Ke-pX4u~h^mJSH#?{tTSFMJgmwdJhcUyI^*=xT--sAmB zSt?i?XzsW)`8JRrQ9l2{)(U@a`r(nHk6Tsifg1N2RqVO2cj{<+-j=Z!xr486yt9uX zud(qjKdYqB+n#`xXKH`MUuLRacev72Dl@G!p(=1sCsgI$370ABHw_k5#Y2xu%~xtT zzWYx5r>a=G`7UZjJ*Ki& zZ^=>vgJq&&@&8M5CSZpmN#md(X_$aT2HHYM*jpxG1A_@zjXfPIweQj?l|6my?&Cux z&dsi2D=|Q*#2QFILMbf30xS>*AOQ(YfK(I@AOQ*bK^#~KiEp7R_vBdsx=08@0un3f zB7DIYd=UqdL*n{r&klXWz8}}7zHY2b&Otd!at8^X@YDpD0L24HK!Sb{2Ot3nO@LGs z4v`av9k1SB*8Qc*mB1SFQ#55L_Xo8yK)=(8++7BJxpzTk^Eu)axb8#j(jZ2LOzTj%3lp@;c2t_&I^Ad$k2 z%VI{zSY{>UJu+92ucVN@6uED#4E z0SQfjR1^;&0SWp+9DoEQGyzgkJb(lw=m&8C5|GdY{+Wu6d)iN?E3Z2+I;vha7S49< z_eZT=J7-3UhdTvfuRB~RpY3gCnzP5Q3f$8P`^vo&E>qU~VhOj%qgK>o_E`Zd&s6@1 zzsyve(6CS-H87CIu%Hh~ngtuyUt8R~S{PRj2C=|;L!-55sVZnlG s6;|N`Z(5$se#lLr+%ev_>OUGDxVn#&o|q`l9nmKa?rW$Ws&0w=0)N&8?f?J) diff --git a/test/smoke_tests/goldens/3.16.0/ci/error_message_smoke_test.png b/test/smoke_tests/goldens/3.16.0/ci/error_message_smoke_test.png index 600e133bb7409a78281df5d70337737da0c34ed8..d9c101fde6cc15582d44617a636c36f6f17e4e49 100644 GIT binary patch literal 633 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>VJUX<4B-HR z8jh3>1_mZ&PZ!6KiaBquZsct+U|>Gjuppsy8Xxz9{K=2>$9w(nx^VaqoBJUdC-t9fxb+)TlPI?9cpWcLtbz7(8A5 KT-G@yGywqFPKvq! literal 775 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$!4M=t>=)MI~jKx9jP7LeL$-D$|Sc;uILpXq- zh9jkefq`kGr;B4q#hkad7fxhy6mSS!;2?0Ct@&Vb=Yysl92=yWE-DI4U|jq!$a`;k zwae`IwQ1IKpI>M5c(ZRW!yltYM~?&nA&C|iHbpS=R=-@#yX&go8bW9JZ|^S_=W$|c zo^U`x#ejoz#4@+Y+y1Dwn|6aaEK}-CEU_VR;e-8+{||Q@k=x+)IpJLsS~w#G`EX=z pyIfgUTg~|+R1cA~VE%l;YaPn7zw^Y)U%|(~(SZN} diff --git a/test/smoke_tests/goldens/3.16.0/ci/interactions_smoke_test_long_pressed.png b/test/smoke_tests/goldens/3.16.0/ci/interactions_smoke_test_long_pressed.png index 2f44f140b0530179554a703ac8f89d6f9fd4230c..46dbcabec9c92a3e205bdbffd6fa8b44f176d695 100644 GIT binary patch literal 721 zcmeAS@N?(olHy`uVBq!ia0y~yVEh4OdvUM<$?#aWtw4&gILO_JVcj{Imp~3nv6E*A z2N2Y7q;xPaFjafHIEGZrd3*P~S4g4Ev4{6(+I#t?Eocf+U=bCmV7%A(J8w~S=KWo> zKQiTnb{}w6GIh!lGkZM8Y%^DrGu!@iw?D@m-2MB*+=p{6ukqP-i|Nm1xjcJ~w~KV; z?PageWBPJp!8Znm2k(U|7&ufuFbH@&U{siJfZ0Kzk-foziJzg7MUH`q(}saXh>(J; zdHX9aUz20}b8qeE?MqD#f2w^O`Bu}Re+NDjuK?Y&Xnu43p8u=9vFs2$e~`KU5Gxj2 zGeW8vE}Z@PtZe368{M~0@-p2Y-zxs6eYPfS*6Ghic2(hRmnYvUULY)P^W{L&rm%Ho z-%lmgI^WUGaDTih;=V@s?&_yiuj}4gUg$jF%&+q<_u9MzmvWwazU2f9Y$@wf>ZFnd;sG1XL5F8|h|(H~d8)|N5v z3^tb&4A2wTpC~k}pU=3z=pfEuzrf!8`WAOY*0asGgck@mw##Lt*=PADto&IPSj|+T z^x*c)I$ztaD0e0sxy84TJyy literal 1259 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 L2f?0=4@mtB#ecZf diff --git a/test/smoke_tests/goldens/3.16.0/ci/interactions_smoke_test_regular.png b/test/smoke_tests/goldens/3.16.0/ci/interactions_smoke_test_regular.png index 2f44f140b0530179554a703ac8f89d6f9fd4230c..46dbcabec9c92a3e205bdbffd6fa8b44f176d695 100644 GIT binary patch literal 721 zcmeAS@N?(olHy`uVBq!ia0y~yVEh4OdvUM<$?#aWtw4&gILO_JVcj{Imp~3nv6E*A z2N2Y7q;xPaFjafHIEGZrd3*P~S4g4Ev4{6(+I#t?Eocf+U=bCmV7%A(J8w~S=KWo> zKQiTnb{}w6GIh!lGkZM8Y%^DrGu!@iw?D@m-2MB*+=p{6ukqP-i|Nm1xjcJ~w~KV; z?PageWBPJp!8Znm2k(U|7&ufuFbH@&U{siJfZ0Kzk-foziJzg7MUH`q(}saXh>(J; zdHX9aUz20}b8qeE?MqD#f2w^O`Bu}Re+NDjuK?Y&Xnu43p8u=9vFs2$e~`KU5Gxj2 zGeW8vE}Z@PtZe368{M~0@-p2Y-zxs6eYPfS*6Ghic2(hRmnYvUULY)P^W{L&rm%Ho z-%lmgI^WUGaDTih;=V@s?&_yiuj}4gUg$jF%&+q<_u9MzmvWwazU2f9Y$@wf>ZFnd;sG1XL5F8|h|(H~d8)|N5v z3^tb&4A2wTpC~k}pU=3z=pfEuzrf!8`WAOY*0asGgck@mw##Lt*=PADto&IPSj|+T z^x*c)I$ztaD0e0sxy84TJyy literal 1259 zcmeAS@N?(olHy`uVBq!ia0y~yVA24xvpCp*age(c!@6@aFM%AEVkgfK z4j`!ENa+A_r+T_LhE&XXd-s0!)l!+`AHRDl`|tS4y-b6{%>7A}nzErji?@4I$b^6F z)81@b@<*6w%jyKKdlgq(w=*ZF2rN1gl+-(AhBj~5#u>YOEu6%ccSi)|vR^;O!;#SCZHujH7k}Yt*e|HT;9$kX%HZLSUC+5st@{q1XiYwQgHdNuAG5mn zm#X>23H!u;)gR|X7>VBusJ-|V`7Ql?VQ1A#K?lpLD<5{8+O%S8jQR-fg%3UMil^{_)kU zA7#1KH5*r2|1y8CXUi_v>A)zJwfb(qaP#uy=lSN|{txYe-0s@s>q+--Y^`{G?y1GU zQ`LqWlR{rcUYGz>Y*qU8@(n{nq4=`Bg0;5tM@}3QPg?cr^jptMQL}sc=I6V;Kd`bQ z_s8cS6(34uZhj5~X{!!su-yCkarnmMBo(%8@;%CXpFghptylPoW!9>7U9aEne&q4~ zr^JmqgR+2^lZ7MgftG!`PN@6D=3&=bx(g!OWMqx(~Pf+Z32nM&D$X=D7f9s zCcc96tWmM9_4~Vedsw7|H4d!N3hbY{|N5f1l}AdpZv7%N>&d~cX&pa4AB#NUgA(7H zAKZ8RxFw!p!Ob~var;t!on7)(;nU`Q*#9Z!e)A>ago~Dr;3R||30Tt^h9ZAsHnF+O z-!pxF%7Qz=0TWAFXup?_{okCBS6?$$`c9qaJb6ux1<>b@uU>7P?vTvHI^*(%UEex7 zZv1-vy> z^VVAC?&9#pTg@V?#6DjEM%KHFs|&ZiFZjaq_4v`=yM>jt;lQ{Gz)Y31zrKGh=Xb30 zpz+67Kg#GZx^prwfgF}%C(jTL zAgJL;>0n@BJ?-h@7*a9k?R7&=r$mOVf&ohf*A}xMSZ^c${biYL@4Sx} z|5eO0yM6bCGZx^prwfgF}%C(jTL zAgJL;>0n@BGxl_G45^s&_PQbOAqEDQi_-+u%0vvVaxkr872I)vH7?-5xg$X`27-2; z_k#;=pYOd~6U)Z%W23JvLqn;M0)r3}i-S`Gg9nEI11BSsf}#V13JXU=3j^Z>flDgXp;P#|!q)eJv?3>pwklyZsg82l^E>PoNUZf9|@X%n%{ZKbj9l3xi=; cA|8EaktG3V_ae{GjQnPVTH%N5V8HqPTUoh8*eLnX4~%~YKmH!E0^)NfWZ z=jfzls^&Y)YBe|DPFlEd#Yc6nvpt#rV&852$hOR~^wssxH}BsLzJKmf*(sGNr)i=+^VX|*r+<(IOCGmki-hQQPBpS~7< iuFu!`!v}T3KL!EeWKF*dn?isw%i!ti=d#Wzp$P!-3+i+L literal 723 zcmeAS@N?(olHy`uVBq!ia0vp^EkNwR!3HF6+ummdQjEnx?oJHr&dIz4a#)I;JVQ8u zpoSx*gMopm*3-o?q+-t7J7>K`3T2Le?C(C-xAWZ#Mc0FyY+d?=ggV+g_%0nx{>ObV z?)8QE!0CLqHf|2*f2g}isG6a($73`5RFN&U1?AJWtZjb#u=+=?^jQnNz46!o8vSmq zG=9PNC+b{W{fFQK`JFq&4?J`dFyLTfb3CBHA;H4ftdJnU!qe2?2oiM5R(9U$?;jFV zzx30$N#B}cu2?I&KGx~4>=gIe>|XxqTJ_fX`Ed)*#2 zcmAc$)7$5MKDS?S-&&hn{fQYdwl_0Xjg^mFXc3BwI(ep}YSZN`d8zQs;=rB#{dYgF zZF|HX1?`@GcjoGIlIa3-{~orgded`?+xXUuIRUAaepeOb|4r)% zF+H(*lg;wplbln<)26)Iy`t|P_qm^Je6qXOUwSs%W7^S!Sx+u(+~s)XiJg6D;oH_z zw@=G>-$?oQE#eT+hd-GY^TzU=?Z2;x6v^oR`^fEkbIPiZv$XF56DEVFtDnm{r-UW| D0VhS8 diff --git a/test/smoke_tests/goldens/3.16.0/ci/unconstrained_smoke_test.png b/test/smoke_tests/goldens/3.16.0/ci/unconstrained_smoke_test.png index 6b74770089ece8f753dd4107bdbdd1f43fcc9b0e..ceade409e5fdef39c6b05eb19a0ebcb4577da329 100644 GIT binary patch literal 42347 zcmeI*&r8#B9LMqZXxeld7G)X@cIeQdgNBDd1RayPLl)*ih+w6c3N#TcA!w|N9$I!O zi0BUp8g*&})$At`bnJ&ogm{U}gCNwU`hIlp@8=T+dD!6_JqMz1r~7_=d|vPOzK*Y7 zrw;d~>T7q^ib#FBC)pZvWCOHS?Vk%k7x{q96Qw``iH*+_zEabI z1QJGo`KdWT0txy-Gk`>8Bu>1|SD8nu{(kh(U}`k%KWZuGUN4MFVUR$=du^HSD8~Q^ z`hkAX3?PAo5nw864v;{Ce$WgcfrJrYDrydpKq9dH@O1q}$r{7%)%cz2`oWt0_FMpQ z?(r6wN>h#m67+*+00|_F08>$OfCLisgJu8;B#Z!4QFDL<67+*+00|_FKmev8@J0IXNg*Nf?*D})3RMu3^6IjFqEx(k$Lt7c-lIT0$gKmrN+K{J2^5=MZjs5w9a z3Hm`ZfCLgofT^fCKmrN+K{J2^5=J2SQ}NUvFG{vAvSb%fs1ySUB!qs@5FmksClHva zcsca#rAYXFI@#49r2S%F{5}a#T38iUWmOF(ZSA(6@b E0$bM#F#rGn literal 42417 zcmeI*Ur1A79LDk2HFa9nl!~y#kzPb}AtYr;vB_%NO-e}wk*@5jE=mmhC$u&p3yMK_ z5p@xC5rkP5f)UgzqOR&jh(f3fK`I>uNd#h@H~aa%{S%3zRo?@$y-v^0K6~EBqn@1| zt6Lu`$S=-UN)<%H!3|2y?9(5f9OpC5^F|Li7g;SELN%)U;i4DLz}-?4srNWbn`cLd zQa%+42I}{p9Ucf2-tl|Y?Zok{y*^de=dX1KXYWk<7qyqJ?0h+%Ub89H-;jPZQthlm zmgv=2!!u;yTt;Udv2QMP?Xzwya;L3Pxo05D48z_&YduNdo?LUAZ`=Fc*W+Cu?5~KO zIyBI5w54>~>j*rbZPw_Ir%KEy=Kf-%^M1`nbB9J4Qe!b?(g}@$A~eQ=&=?EK+gPZd z{+UYC7)6@KSkN@af~GMRG|i8HKcP!aPUuo&L6;f}y3|bPKNSo*di3tZJ!~qE;v;fT@IY0sl=7VGa2_&=tttdH|N@98Emv5=bx~Bm+nwp#^9~$pI2bFdrlXNFbpFXhq3E=1F*Ov@X+ISMlK4!Q$%U zWuLcnv)6uUBqMnOkw8KzQa}nwfn?w-iKU6t4RS01Gi4Hq&JYSDkoc-I=n07g5=b}# zbfm-p2_%>gk^vjFCJsNFbpUDIf);Kr(;?5?X*( zlpG*|1oJ^MfCLg+fL4?oAb|w)K{D`HNc4PrQnHRGHwPz=1yJ+d_WAr7$+L?D5{lU& zAwU8NM}St87$AWJ^FcCz1QJ?+R+JndfdunGGJpgUS|Foav14oXe7%ti26wMMQF5

|OX=*_n!sjc;5l=E#Fc`u60?b?09&0sF*d z{&>p%W19Pj{qC4~F8dXmMeej&iz@fnZxImo+J~)ihXyJJslgyL#)5fhEEG*+F#i26 z9lQMYuu|Ejkzk tester.pumpWidget(widget)); }, - builder: () => Image.network('https://fakeurl.com/image.png'), + builder: () => Padding( + padding: const EdgeInsets.all(8), + child: Image.network('https://fakeurl.com/image.png'), + ), ); }); }