Commit Graph

89 Commits

Author SHA1 Message Date
Christopher Fujino
88710972da
Refactor prepare_package.dart (#139277)
I plan to extend the prepare_package.dart script to upload the flutter preview device ([design doc](https://docs.google.com/document/d/1AzI-_Uk2v1LA2kKKFJ7gVD4xcakXJ6yVZiS5Ek6RHtg/edit#heading=h.byp03plw7mg9)).

However, given that that script is one large >1k line file, I decided to organize it into smaller libraries in this PR. There should be no behavioral change in this PR, this is a cleanup only. I made the following changes:

1. Created a //dev/bots/prepare_package/ directory to contain helper libraries
2. Moved everything but the `main()` function in //dev/bots/prepare_package.dart into one of 4 helper libraries under the new directory from step 1:
  a. archive_creator.dart which contains the code that creates archive directory locally on disk
  b. archive_publisher.dart which contains the code that uploads the archive to cloud storage
  c. common.dart for shared constants and definitions
  d. process_runner.dart for an abstraction over running sub-processes
3. Changed all definitions to `File` and `Directory` from `dart:io` to use the testable versions from `package:file`. This allowed me to use the `MemoryFileSystem` in the unit tests, rather than creating real temp file system directories.
2023-11-30 19:25:50 +00:00
godofredoc
a70a852c66
Run gsutil with full python3 and full path. (#132805)
This is to prevent failures when the gsutil.py is not executable.
2023-08-17 23:09:44 +00:00
Sigurd Meldgaard
788ceb34a3
Fix style issues (#122586)
Follow-up to https://github.com/flutter/flutter/pull/121802 resolving some style issues.
2023-05-16 23:56:21 +00:00
Sigurd Meldgaard
1fd84f88e9
Always use user-level pub cache (#121802)
Use the pub cache resolved by pub itself.
To add packages to the flutter.zip download they are packaged as tar.gz and added to the pub-cache on first run by using  `pub cache preload`.
2023-03-13 08:38:17 +01:00
Lioness100
26b6c1bedd
Fix typos (#121171)
* Fix typos

* lowercase animated & opacity

* Undo typo fix

---------

Co-authored-by: Michael Goderbauer <goderbauer@google.com>
2023-02-23 19:43:21 +00:00
Michael Goderbauer
c757df3bfa
Remove unnecessary null checks in dev/bots (#118846) 2023-01-21 01:39:19 +00:00
godofredoc
cd87e094e9
Allow creating packages for master/main. (#116557)
This is to enable testing of the packaging scripts on master/main
branches.

Bug: https://github.com/flutter/flutter/issues/115489
2022-12-06 19:46:07 +00:00
godofredoc
61376de9b8
Generate local metadata even when not publishing. (#116087)
* Generate local metadata even when not publishing.

For SLSA compliance we need to separate the fetch, compile and upload
steps of release artifacts. Translating this to the packaging workflows
the fetch step will checkout the prepare_package script at main ToT, the
compile step generate the bundle archives and the recipes will upload
the artifact bundles as part of the upload stage.

This change adds functionality to generate both the release bundle and
the updated metadata file in a way that both files can be uploaded as
part of the upload stage.

Bug: https://github.com/flutter/flutter/issues/115487

* Address comments.

* Update tests.
2022-11-29 04:14:24 +00:00
Kevin Moore
38ef9410b4
dev/bots/prepare_packages: cleanup (#113717) 2022-10-19 19:13:12 +00:00
Casey Hillers
f26dd3730d
[packaging] Run git gc to minimize .git disk footprint (#113467) 2022-10-17 15:43:31 +00:00
Casey Hillers
bc70ae0f57
[packaging] Remove dev references (#113462) 2022-10-17 13:45:19 +00:00
Pierre-Louis
0c2f7bc2a2
Remove errant double spaces (#110758) 2022-09-02 04:00:58 +00:00
Alexandre Ardhuin
ccd33631e3
enable combinators_ordering (#107847) 2022-07-18 22:04:07 +00:00
Casey Hillers
a79233cbba
[packaging] Move chromium mirror to flutter mirror (#104222) 2022-05-20 22:03:06 -07:00
Alexandre Ardhuin
d40ee2149c
remove unnecessary .toString() (#103226) 2022-05-06 16:04:13 -07:00
godofredoc
875c552c54
Allow different versions of the architecture. (#100345)
If there was a release entry for the same platform and hash the new
entries were filtered out even if the architecture was different.
2022-03-17 21:24:16 -07:00
Zachary Anderson
219bcd329e
Include Dart SDK arch in package info (#97278) 2022-02-02 09:02:02 -08:00
Greg Spencer
e76ad85e01
Output Dart SDK version in published metadata (#96302) 2022-01-07 16:30:14 -08:00
Ian Hickson
61a0add286
Enable avoid_redundant_argument_values lint (#91409) (#91462) 2021-10-08 09:25:14 -07:00
Zachary Anderson
b9d2177da0
Revert "Enable avoid_redundant_argument_values lint (#91409)" (#91461)
This reverts commit 5fd259be24.
2021-10-07 21:11:07 -07:00
Ian Hickson
5fd259be24
Enable avoid_redundant_argument_values lint (#91409) 2021-10-07 20:13:02 -07:00
Chris Bracken
497eb13d03
Migrate python invocations to python3 (#87759)
Python 2 has been end-of-life'd since January 2020, all Python scripts
on which Flutter depends have been migrated to Python 3. This changes
documentation and remaining invocations to explicitly invoke python3.

Issue: https://github.com/flutter/flutter/issues/83043
2021-08-06 14:42:08 -07:00
Michael Goderbauer
045ba2b661
Migrate dev/bots to null safety (#86522) 2021-07-19 13:59:15 -07:00
Greg Spencer
88f3811055
Turn on avoid_dynamic_calls lint, except packages/flutter tests, make appropriate changes. (#84476)
This adds avoid_dynamic_calls to the list of lints, and fixes all instances where it was violated.

Importantly, this lint is NOT turned on for flutter/packages/test, because those changes are happening in another PR: #84478
2021-06-14 14:16:57 -07:00
godofredoc
8bee0834e4
Remove logic to save artifacts to old gcs location. (#83526) 2021-05-27 19:04:02 -07:00
Christopher Fujino
aae92d66a0
Fix prepare_package.dart not updating base_url (#81941) 2021-05-11 13:24:03 -07:00
Christopher Fujino
f33499df33
test macos binaries are codesigned before publishing (#81585) 2021-05-03 15:14:38 -07:00
Christopher Fujino
a2a520cba3
only cache release manifest files for 60 seconds (#79325) 2021-03-30 13:15:34 -07:00
Michael Goderbauer
cb867bbedc
Enable unnecessary_await_in_return lint (#77434) 2021-03-05 18:38:15 -08:00
Jenn Magder
781eb13642
Store symlinks in package archive (#77184) 2021-03-03 17:21:14 -08:00
Christopher Fujino
697547c3ea
Fix prepare package (#76898) 2021-02-26 17:10:45 -08:00
godofredoc
40877c02a7
Update prepare_package to upload artifacts to old and new buckets. (#75389)
* Update prepare_package to upload to old and new infra buckets.

Bug: https://github.com/flutter/flutter/issues/75363

* Fix failing tests.

* Add duplicated code to a loop.
2021-02-04 17:45:45 -08:00
Christopher Fujino
94d574fa7f
Ensure the packaging script does not overwrite a previous upload (#71597) 2020-12-03 17:07:50 -08:00
Greg Spencer
21f4096267
Revert: Update prepare_package.dart to use the process_runner package instead having duplicate code. #62710 (#63608)
This reverts #62710, since it has a noSuchMethodError in some circumstances.

This isn't just a straight git revert, because I had to resolve the conflicts in the reverted pubspec.yaml files and re-run flutter update-packages --force-upgrade to make the checksums match.
2020-08-13 08:43:20 -07:00
Greg Spencer
a344fb1e2c
Update prepare_package.dart to use the process_runner package instead having duplicate code. (#62710)
Updates the prepare_package.dart script to use the process_runner package (which is where the ProcessRunner implementation was moved to).
2020-08-11 14:44:57 -07:00
Jonah Williams
626886e94a
Do not upload all pub packages into the zip bundle (#61488)
Remove git dependencies from pub-cache

#61487
2020-07-15 11:56:28 -07:00
Jonah Williams
52db5e29f1
[release] remove .dart_tool directory from uploaded zip (#58135)
Fixes #58003

The .dart_tool directory can contain build assets, as well as the package_config.json file - the replacement for .packages. Remove it for the same reason we remove .packages
2020-05-28 12:07:11 -07:00
Shi-Hao Hong
d2c734a36f
Simple repeating word fixes (#51871) 2020-03-03 11:13:07 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Alexandre Ardhuin
ec1a015045
implicit-casts:false in dev (#45787) 2019-12-05 22:34:06 +01:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Alexandre Ardhuin
df4bf453ab
more UI-as-code (#35516) 2019-09-17 16:23:44 +02:00
Michael Goderbauer
0b23634fb3
Do not hide .git in zip for Windows (#39432) 2019-08-28 15:20:47 -07:00
Alexandre Ardhuin
758009ba70
more ui-as-code (#35393)
* more ui-as-code

* address review comments
2019-07-02 21:11:56 +02:00
Alexandre Ardhuin
919dcf53f3
enable lints prefer_spread_collections and prefer_inlined_adds (#35189) 2019-06-27 21:23:16 +02:00
Greg Spencer
7ab3bc71f9
Be more strict about finding version number attached to a revision. (#28527)
When we package Flutter, we used to find the "current" tag (which is the version number) by starting at the revision we are building on and looking backwards in time to find the most recent tag. This causes problems on release builds when we failed to tag properly.

This PR makes the packaging script be more strict by requiring the given revision to itself have a tag, but only when we're publishing the result. When we're not publishing the result, it's more lenient, since otherwise we couldn't test packaging on non-release commits.

I also renamed ProcessRunnerException to PreparePackageException, since we were using that exception more generally than just for processes.
2019-03-01 14:38:40 -08:00
Greg Spencer
c940088985
Add SHA256 checksums to published metadata (#28472)
Adds SHA256 checksums to the released package database, in preparation for showing them on the download website. (I'll update the existing data by hand).

Fixes #28465
2019-02-26 12:02:01 -08:00
xster
0e54e9fc36
Fix gsutil.py call for windows (#27113) 2019-01-25 18:43:20 -08:00
xster
5a434c61af
Let the packaging recipe use gsutil.py (#26402) 2019-01-10 19:08:03 -08:00
xster
b5e69f2ed1
Make sure package cache prepare does not end up creating projects inside the Flutter repo (#26389) 2019-01-10 18:04:23 -08:00