Mercurial > piecrust2
annotate garcon/pypi.py @ 1079:00a0a65d08e6
data: Fix debug rendering of the family data.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 15 Feb 2018 21:15:30 -0800 |
parents | a013a3bea22a |
children |
rev | line source |
---|---|
1070
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
1 import os.path |
992
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
2 import re |
1070
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
3 import shutil |
642
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 from invoke import task, run |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
5 |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 @task |
990
22cf13b86cc3
cm: Upgrade Garcon tasks to the latest PyInvoke version.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
8 def makerelease(ctx, version, local_only=False): |
642
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
9 if not version: |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 raise Exception("You must specify a version!") |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
11 |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 # FoodTruck assets. |
648
1696f0a41cfc
cm: Update npm modules and bower packages before making a release.
Ludovic Chabant <ludovic@chabant.com>
parents:
642
diff
changeset
|
13 print("Update node modules") |
1696f0a41cfc
cm: Update npm modules and bower packages before making a release.
Ludovic Chabant <ludovic@chabant.com>
parents:
642
diff
changeset
|
14 run("npm install") |
1696f0a41cfc
cm: Update npm modules and bower packages before making a release.
Ludovic Chabant <ludovic@chabant.com>
parents:
642
diff
changeset
|
15 print("Generating FoodTruck assets") |
642
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
16 run("gulp") |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
17 |
992
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
18 # See if any asset was modified and needs to be submitted. |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
19 r = run('hg status', hide=True) |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
20 if re.match(r'^[R\!] ', r.stdout): |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
21 raise Exception("FoodTruck assets are missing or were removed!") |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
22 |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
23 commit_assets = False |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
24 if re.match(r'^[MA] ', r.stdout): |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
25 commit_assets = True |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
26 |
742
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
27 # CHANGELOG.rst and documentation changelog page. |
642
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
28 run("invoke changelog --last %s" % version) |
742
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
29 run("invoke changelog --last %s -o docs/pages/support/changelog.md" % |
1070
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
30 version) |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
31 |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
32 # Clean `dist` folder before running setuptools. |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
33 dist_dir = os.path.join( |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
34 os.path.dirname(os.path.dirname(__file__)), |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
35 'dist') |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
36 if os.path.isdir(dist_dir): |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
37 print("Removing %s" % dist_dir) |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
38 shutil.rmtree(dist_dir) |
642
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
39 |
650
1e543ed2bf38
cm: Tweaks to the release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
648
diff
changeset
|
40 if not local_only: |
992
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
41 if commit_assets: |
1001
112ff1ab110c
cm: Only commit admin assets if they have changed.
Ludovic Chabant <ludovic@chabant.com>
parents:
992
diff
changeset
|
42 res = run('hg status piecrust/admin/static') |
112ff1ab110c
cm: Only commit admin assets if they have changed.
Ludovic Chabant <ludovic@chabant.com>
parents:
992
diff
changeset
|
43 if not res: |
112ff1ab110c
cm: Only commit admin assets if they have changed.
Ludovic Chabant <ludovic@chabant.com>
parents:
992
diff
changeset
|
44 return |
112ff1ab110c
cm: Only commit admin assets if they have changed.
Ludovic Chabant <ludovic@chabant.com>
parents:
992
diff
changeset
|
45 if res.stdout.strip() != '': |
112ff1ab110c
cm: Only commit admin assets if they have changed.
Ludovic Chabant <ludovic@chabant.com>
parents:
992
diff
changeset
|
46 run('hg commit piecrust/admin/static ' |
112ff1ab110c
cm: Only commit admin assets if they have changed.
Ludovic Chabant <ludovic@chabant.com>
parents:
992
diff
changeset
|
47 '-m "admin: Regenerate FoodTruck assets."') |
992
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
48 |
650
1e543ed2bf38
cm: Tweaks to the release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
648
diff
changeset
|
49 # Submit the CHANGELOG. |
742
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
50 run('hg commit CHANGELOG.rst docs/pages/support/changelog.md ' |
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
51 '-m "cm: Regenerate the CHANGELOG."') |
650
1e543ed2bf38
cm: Tweaks to the release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
648
diff
changeset
|
52 |
1e543ed2bf38
cm: Tweaks to the release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
648
diff
changeset
|
53 # Tag in Mercurial, which will then be used for PyPi version. |
642
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
54 run("hg tag %s" % version) |
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
55 |
650
1e543ed2bf38
cm: Tweaks to the release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
648
diff
changeset
|
56 # PyPi upload. |
676
a04288f199a5
cm: Don't always generation the version when running `setuptools`.
Ludovic Chabant <ludovic@chabant.com>
parents:
650
diff
changeset
|
57 run("python setup.py version") |
1070
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
58 run("python setup.py sdist bdist_wheel") |
a013a3bea22a
cm: Upgrade release script.
Ludovic Chabant <ludovic@chabant.com>
parents:
1005
diff
changeset
|
59 run("twine upload dist/*") |
742
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
60 else: |
992
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
61 if commit_assets: |
bd269692dbb4
cm: Make the release script commit changed FoodTruck assets if needed.
Ludovic Chabant <ludovic@chabant.com>
parents:
742
diff
changeset
|
62 print("Would submit FoodTruck assets...") |
742
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
63 print("Would submit changelog files...") |
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
64 print("Would tag repo with %s..." % version) |
9231172e3d81
cm: Add generation of online changelog to the release task.
Ludovic Chabant <ludovic@chabant.com>
parents:
676
diff
changeset
|
65 print("Would upload to PyPi...") |
642
79aefe82c6b6
cm: Move all scripts into a `garcon` package with `invoke` support.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
66 |