Skip to content

Commit c74b24a

Browse files
authored
Update pmc verification docs (apache#61271)
* Update Helm Chart release instructions for PMC Checks * Update KEY download instructions for PMC Checks * Update dev/README_RELEASE_HELM_CHART.md
1 parent 49e6d98 commit c74b24a

5 files changed

Lines changed: 71 additions & 25 deletions

dev/README_RELEASE_AIRFLOW.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -960,6 +960,7 @@ Make sure you have imported into your GPG the PGP key of the person signing the
960960
You can import the whole KEYS file:
961961
962962
```shell script
963+
wget https://dist.apache.org/repos/dist/release/airflow/KEYS
963964
gpg --import KEYS
964965
```
965966

dev/README_RELEASE_AIRFLOWCTL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,7 @@ Download the KEYS file from the above link and save it locally.
611611
You can import the whole KEYS file into gpg by running the following command:
612612

613613
```shell script
614+
wget https://dist.apache.org/repos/dist/release/airflow/KEYS
614615
gpg --import KEYS
615616
```
616617

dev/README_RELEASE_HELM_CHART.md

Lines changed: 67 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -467,24 +467,6 @@ The following files should be present (7 files):
467467
* `airflow-{VERSION}.tgz` + .asc + .sha512
468468
* `airflow-{VERSION}.tgz.prov`
469469

470-
As a PMC member, you should be able to clone the SVN repository:
471-
472-
```shell
473-
svn co https://dist.apache.org/repos/dist/dev/airflow
474-
```
475-
476-
Or update it if you already checked it out:
477-
478-
```shell
479-
svn update .
480-
```
481-
482-
While in the directory, save the path to the repository root:
483-
484-
```shell
485-
SVN_REPO_ROOT=$(pwd -P)
486-
```
487-
488470
## Source tarball reproducibility check
489471

490472
The source tarball should be reproducible. This means that if you build it twice, you should get
@@ -503,29 +485,51 @@ AIRFLOW_REPO_ROOT=$(pwd -P)
503485
```shell
504486
VERSION=12.0.1
505487
VERSION_SUFFIX=rc1
488+
VERSION_RC=${VERSION}${VERSION_SUFFIX}
506489
```
507490

508491
3. Check-out the branch from which the release was made and cleanup dist folder:
509492

510493
```shell
511-
git checkout helm-chart/${VERSION}${VERSION_SUFFIX}
494+
git checkout helm-chart/${VERSION_RC}
512495
rm -rf dist/*
513496
```
514497

515498
4. Build the source tarball and package. Since you are not releasing the package, you should ignore version
516499
check and skip tagging. There is no need to specify version as it is stored in Chart.yaml of the rc tag.
517500

518501
```shell
519-
breeze release-management prepare-helm-chart-tarball --version-suffix rc1 --ignore-version-check --skip-tagging
520-
breeze release-management prepare-helm-chart-package --version-suffix rc1
502+
breeze release-management prepare-helm-chart-tarball --version-suffix ${VERSION_SUFFIX} --ignore-version-check --skip-tagging
503+
breeze release-management prepare-helm-chart-package --version-suffix ${VERSION_SUFFIX}
521504
```
522505

523506
5. Compare the produced tarball binary with ones in SVN:
507+
As a PMC member, you should be able to clone the SVN repository:
508+
509+
```shell script
510+
cd ..
511+
[ -d asf-dist ] || svn checkout --depth=immediates https://dist.apache.org/repos/dist asf-dist
512+
svn update --set-depth=infinity asf-dist/dev/airflow
513+
```
514+
515+
Or update it if you already checked it out:
516+
517+
```shell script
518+
cd asf-dist/dev/airflow
519+
svn update .
520+
```
521+
522+
Set an environment variable: SVN_REPO_ROOT to the root of folder where you have helm-chart
523+
524+
```shell script
525+
cd asf-dist/dev/airflow
526+
export SVN_REPO_ROOT=$(pwd -P)
527+
```
524528

525529
```shell
526530
527-
diff ${AIRFLOW_REPO_ROOT}/dist/airflow-chart-${VERSION}-source.tar.gz ${SVN_REPO_ROOT}/dev/airflow/helm-chart/${VERSION}${VERSION_SUFFIX}/airflow-chart-${VERSION}-source.tar.gz
528-
diff ${AIRFLOW_REPO_ROOT}/dist/airflow-${VERSION}.tgz ${SVN_REPO_ROOT}/dev/airflow/helm-chart/${VERSION}${VERSION_SUFFIX}/airflow-${VERSION}.tgz
531+
diff ${AIRFLOW_REPO_ROOT}/dist/airflow-chart-${VERSION}-source.tar.gz ${SVN_REPO_ROOT}/dev/airflow/helm-chart/${VERSION_RC}/airflow-chart-${VERSION}-source.tar.gz
532+
diff ${AIRFLOW_REPO_ROOT}/dist/airflow-${VERSION}.tgz ${SVN_REPO_ROOT}/dev/airflow/helm-chart/${VERSION_RC}/airflow-${VERSION}.tgz
529533
```
530534

531535
There should be no differences reported. If you see "binary files differ" message, it means that
@@ -537,7 +541,7 @@ and we need to fix it (so checking the differences would be helpful also to find
537541
Before proceeding next you want to go to the SVN directory
538542

539543
```shell
540-
cd ${SVN_REPO_ROOT}/dev/airflow/helm-chart/${VERSION}${VERSION_SUFFIX}
544+
cd ${SVN_REPO_ROOT}/dev/airflow/helm-chart/${VERSION_RC}
541545
```
542546

543547
## Licence check
@@ -555,11 +559,48 @@ tar -xzf /tmp/apache-rat-0.17-bin.tar.gz -C /tmp
555559
* Enter the sources folder run the check
556560

557561
```shell
558-
java -jar ${PATH_TO_RAT}/apache-rat-0.13/apache-rat-0.13.jar chart -E .rat-excludes
562+
rm -rf /tmp/apache/airflow-src && mkdir -p /tmp/apache-airflow-src && tar -xzf ${SVN_REPO_ROOT}/dev/airflow/helm-chart/${VERSION_RC}/airflow-chart-*-source.tar.gz --strip-components 1 -C /tmp/apache-airflow-src
563+
```
564+
565+
```shell
566+
java -jar /tmp/apache-rat-0.17/apache-rat-0.17.jar --input-exclude-file /tmp/apache-airflow-src/.rat-excludes /tmp/apache-airflow-src/ | grep -E "! |INFO: "
559567
```
560568

561569
where `.rat-excludes` is the file in the root of Chart source code.
562570

571+
You should see no files reported as Unknown or with wrong licence and summary of the check similar to:
572+
573+
```
574+
INFO: Apache Creadur RAT 0.17 (Apache Software Foundation)
575+
INFO: Excluding patterns: .git-blame-ignore-revs, .github/*, .git ...
576+
INFO: Excluding MISC collection.
577+
INFO: Excluding HIDDEN_DIR collection.
578+
SLF4J(W): No SLF4J providers were found.
579+
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
580+
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
581+
INFO: RAT summary:
582+
INFO: Approved: 15615
583+
INFO: Archives: 2
584+
INFO: Binaries: 813
585+
INFO: Document types: 5
586+
INFO: Ignored: 2392
587+
INFO: License categories: 2
588+
INFO: License names: 2
589+
INFO: Notices: 216
590+
INFO: Standards: 15609
591+
INFO: Unapproved: 0
592+
INFO: Unknown: 0
593+
```
594+
595+
There should be no files reported as Unknown or Unapproved. The files that are unknown or unapproved should be shown with a line starting with `!`.
596+
597+
For example:
598+
599+
```
600+
! Unapproved: 1 A count of unapproved licenses.
601+
! /CODE_OF_CONDUCT.md
602+
```
603+
563604
## Signature check
564605

565606
Make sure you have imported into your GPG the PGP key of the person signing the release. You can find the valid keys in
@@ -568,6 +609,7 @@ Make sure you have imported into your GPG the PGP key of the person signing the
568609
You can import the whole KEYS file:
569610

570611
```shell script
612+
wget https://dist.apache.org/repos/dist/release/airflow/KEYS
571613
gpg --import KEYS
572614
```
573615

dev/README_RELEASE_PROVIDERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -899,6 +899,7 @@ Download the KEYS file from the above link and save it locally.
899899
You can import the whole KEYS file into gpg by running the following command:
900900

901901
```shell script
902+
wget https://dist.apache.org/repos/dist/release/airflow/KEYS
902903
gpg --import KEYS
903904
```
904905

dev/README_RELEASE_PYTHON_CLIENT.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,7 @@ Make sure you have imported into your GPG the PGP key of the person signing the
524524
You can import the whole KEYS file:
525525

526526
```shell script
527+
wget https://dist.apache.org/repos/dist/release/airflow/KEYS
527528
gpg --import KEYS
528529
```
529530

0 commit comments

Comments
 (0)