@@ -1458,13 +1458,15 @@ Details about maintaining the SEMVER version are going to be discussed and imple
1458
1458
You can iterate and re-generate the same readme content as many times as you want.
1459
1459
Generated readme files should be eventually committed to the repository.
1460
1460
1461
- # ## Build an Alpha release for SVN apache upload
1461
+ # ## Build regular provider packages for SVN apache upload
1462
1462
1463
- The Alpha artifacts we vote upon should be the exact ones in the future we vote against, without any
1464
- modification than renaming i.e. the contents of the files must be the same between voted
1465
- release candidate and final release. Because of this the version in the built artifacts
1466
- that will become the official Apache releases must not include the rcN suffix. They also need
1467
- to be signed and have checksum files. You can generate the checksum/signature files by running
1463
+ There is a slightly different procedure if you build pre-release (alpha/beta) packages and the
1464
+ release candidates. For the Alpha artifacts there is no voting and signature/checksum check, so
1465
+ we do not need to care about this part. For release candidates - those packages might get promoted
1466
+ to " final" packages by just renaming the files, so internally they should keep the final version
1467
+ number without the rc suffix, even if they are rc1/rc2/... candidates.
1468
+
1469
+ They also need to be signed and have checksum files. You can generate the checksum/signature files by running
1468
1470
the " dev/sign.sh" script (assuming you have the right PGP key set-up for signing). The script
1469
1471
generates corresponding .asc and .sha512 files for each file to sign.
1470
1472
@@ -1474,20 +1476,37 @@ Currently, we are releasing alpha provider packages together with the main sourc
1474
1476
we are going to add procedure to release the sources of released provider packages separately.
1475
1477
Details are in [the related issue](https://github.com/apache/airflow/issues/11425)
1476
1478
1477
- * Generate the packages - since we are preparing packages for SVN repo, we should use the right switch. Note
1478
- that this will clean up dist folder before generating the packages, so it will only contain the packages
1479
- you intended to build.
1479
+ For alpha/beta releases you need to specify both - svn and pyp i - suffixes, and they have to match. This is
1480
+ verified by the breeze script. Note that the script will clean up dist folder before generating the
1481
+ packages, so it will only contain the packages you intended to build.
1482
+
1483
+ * Pre-release packages:
1480
1484
1481
1485
` ` ` shell script
1482
1486
export VERSION=0.0.1alpha1
1483
1487
1484
- ./breeze prepare-provider-packages --version-suffix-for-svn alpha1
1488
+ ./breeze prepare-provider-packages --version-suffix-for-svn a1 --version-suffix-for-pypi a1
1485
1489
` ` `
1486
1490
1487
1491
if you ony build few packages, run:
1488
1492
1489
1493
` ` ` shell script
1490
- ./breeze prepare-provider-packages --version-suffix-for-svn alpha1 PACKAGE PACKAGE ....
1494
+ ./breeze prepare-provider-packages --version-suffix-for-svn a1 --version-suffix-for-pypi a1 \
1495
+ PACKAGE PACKAGE ....
1496
+ ` ` `
1497
+
1498
+ * Release candidate packages:
1499
+
1500
+ ` ` ` shell script
1501
+ export VERSION=0.0.1alpha1
1502
+
1503
+ ./breeze prepare-provider-packages --version-suffix-for-svn rc1
1504
+ ` ` `
1505
+
1506
+ if you ony build few packages, run:
1507
+
1508
+ ` ` ` shell script
1509
+ ./breeze prepare-provider-packages --version-suffix-for-svn rc1 PACKAGE PACKAGE ....
1491
1510
` ` `
1492
1511
1493
1512
* Sign all your packages
@@ -1527,24 +1546,30 @@ cd ${AIRFLOW_REPO_ROOT}
1527
1546
Verify that the files are available at
1528
1547
[backport-providers](https://dist.apache.org/repos/dist/dev/airflow/backport-providers/)
1529
1548
1530
- # ## Publish the Alpha convenience package to PyPI
1549
+ # ## Publish the Regular convenience package to PyPI
1531
1550
1532
- In order to publish to PyPI you just need to build and release packages. The packages should however
1533
- contain the rcN suffix in the version name as well, so you need to use ` --version-suffix-for-pypi` switch
1534
- to prepare those packages. Note that these are different packages than the ones used for SVN upload
1551
+
1552
+ In case of pre-release versions you build the same packages for both PyPI and SVN so you can simply use
1553
+ packages generated in the previous step and you can skip the " prepare" step below.
1554
+
1555
+ In order to publish release candidate to PyPI you just need to build and release packages.
1556
+ The packages should however contain the rcN suffix in the version file name but not internally in the package,
1557
+ so you need to use ` --version-suffix-for-pypi` switch to prepare those packages.
1558
+ Note that these are different packages than the ones used for SVN upload
1535
1559
though they should be generated from the same sources.
1536
1560
1537
1561
* Generate the packages with the right RC version (specify the version suffix with PyPI switch). Note that
1538
1562
this will clean up dist folder before generating the packages, so you will only have the right packages there.
1539
1563
1540
1564
` ` ` shell script
1541
- ./breeze prepare-provider-packages --version-suffix-for-pypi alpha1
1565
+ ./breeze prepare-provider-packages --version-suffix-for-pypi a1 --version-suffix-for-SVN a1
1542
1566
` ` `
1543
1567
1544
1568
if you ony build few packages, run:
1545
1569
1546
1570
` ` ` shell script
1547
- ./breeze prepare-provider-packages --version-suffix-for-pypi alpha1 PACKAGE PACKAGE ....
1571
+ ./breeze prepare-provider-packages --version-suffix-for-pypi a1 \
1572
+ PACKAGE PACKAGE ....
1548
1573
` ` `
1549
1574
1550
1575
* Verify the artifacts that would be uploaded:
0 commit comments