|
1 | 1 | name: Release Wave
|
2 | 2 |
|
3 | 3 | on:
|
4 |
| - push: |
| 4 | + workflow_dispatch: |
| 5 | + inputs: |
| 6 | + version: |
| 7 | + description: 'Release Version' |
| 8 | + required: true |
5 | 9 |
|
6 | 10 | env:
|
7 | 11 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
8 |
| - VERSION: "1.1.1" |
9 |
| - TAG: "1.1.1" |
| 12 | + VERSION: "${{ github.event.inputs.version }}" |
| 13 | + TAG: "v${{ github.event.inputs.version }}" |
10 | 14 |
|
11 | 15 | jobs:
|
12 | 16 | release:
|
@@ -47,8 +51,112 @@ jobs:
|
47 | 51 | make test-ui-ci
|
48 | 52 | make test-py-ci
|
49 | 53 |
|
| 54 | + - name: Create GitHub Release |
| 55 | + id: create_release |
| 56 | + uses: actions/create-release@v1 |
| 57 | + with: |
| 58 | + tag_name: ${{ env.TAG }} |
| 59 | + release_name: ${{ env.TAG }} |
| 60 | + draft: false |
| 61 | + |
| 62 | + - name: Release |
| 63 | + uses: softprops/action-gh-release@v1 |
| 64 | + with: |
| 65 | + files: | |
| 66 | + build/wave-${{ env.VERSION }}-darwin-amd64.tar.gz |
| 67 | + build/wave-${{ env.VERSION }}-darwin-arm64.tar.gz |
| 68 | + build/wave-${{ env.VERSION }}-linux-amd64.tar.gz |
| 69 | + build/wave-${{ env.VERSION }}-windows-amd64.tar.gz |
| 70 | + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-macosx_10_9_x86_64.whl |
| 71 | + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-macosx_11_0_arm64.whl |
| 72 | + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-macosx_12_0_arm64.whl |
| 73 | + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-manylinux1_x86_64.whl |
| 74 | + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-win_amd64.whl |
| 75 | + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-any.whl |
| 76 | + r/build/h2owave_${{ env.VERSION }}_R.tar.gz |
| 77 | + tag_name: ${{ env.TAG }} |
| 78 | + env: |
| 79 | + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 80 | + |
| 81 | + - name: Publish to Conda |
| 82 | + uses: marek-mihok/[email protected] |
| 83 | + with: |
| 84 | + CondaDir: 'py/h2o_wave/conda' |
| 85 | + Platforms: 'noarch' |
| 86 | + CondaUsername: ${{ secrets.CONDA_USERNAME }} |
| 87 | + CondaPassword: ${{ secrets.CONDA_PASSWORD }} |
| 88 | + env: |
| 89 | + # VERSION clashes with conda build. Use PKG_VERSION instead. |
| 90 | + PKG_VERSION: ${{ env.VERSION }} |
| 91 | + |
| 92 | + - name: Publish to PyPI |
| 93 | + uses: pypa/gh-action-pypi-publish@master |
| 94 | + with: |
| 95 | + packages_dir: py/h2o_wave/dist |
| 96 | + password: ${{ secrets.PYPI_API_TOKEN }} |
| 97 | + |
| 98 | + - name: Publish Docs |
| 99 | + run: | |
| 100 | + make publish-website |
| 101 | + aws cloudfront create-invalidation --distribution-id $AWS_CLOUDFRONT_DISTRIBUTION_ID --paths "/*" |
| 102 | + env: |
| 103 | + AWS_CLOUDFRONT_DISTRIBUTION_ID: ${{ secrets.AWS_CLOUDFRONT_DISTRIBUTION_ID }} |
| 104 | + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} |
| 105 | + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
| 106 | + AWS_DEFAULT_REGION: ${{ secrets.AWS_WEST_REGION }} |
| 107 | + |
| 108 | + - name: Publish to S3 |
| 109 | + run: make publish-release-s3 |
| 110 | + env: |
| 111 | + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} |
| 112 | + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
| 113 | + AWS_DEFAULT_REGION: ${{ secrets.AWS_EAST_REGION }} |
| 114 | + |
50 | 115 | - name: Publish apps for Cloud
|
51 |
| - run: make build-apps |
| 116 | + run: make build-apps publish-apps-s3-hac |
| 117 | + env: |
| 118 | + HAC_S3_BUCKET : ${{ secrets.HAC_S3_BUCKET }} |
| 119 | + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} |
| 120 | + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
| 121 | + AWS_DEFAULT_REGION: ${{ secrets.AWS_WEST_REGION }} |
| 122 | + |
| 123 | + - name: Publish apps for Managed Cloud |
| 124 | + run: make publish-apps-s3-mc |
| 125 | + env: |
| 126 | + MC_S3_BUCKET : ${{ secrets.MC_S3_BUCKET }} |
| 127 | + AWS_ACCESS_KEY_ID: ${{ secrets.MC_AWS_ACCESS_KEY_ID }} |
| 128 | + AWS_SECRET_ACCESS_KEY : ${{ secrets.MC_AWS_SECRET_ACCESS_KEY }} |
| 129 | + AWS_REGION: ${{ secrets.MC_AWS_REGION }} |
| 130 | + |
| 131 | + # Call some time after cloudfront cache bust - crawler needs to hit fresh cache. |
| 132 | + - name: Reindex Algolia search |
| 133 | + run: | |
| 134 | + curl -X POST -H "Content-Type: application/json" --user $ALGOLIA_CRAWLER_USER_ID:$ALGOLIA_CRAWLER_API_KEY https://crawler.algolia.com/api/1/crawlers/$ALGOLIA_CRAWLER_ID/reindex |
| 135 | + env: |
| 136 | + ALGOLIA_CRAWLER_API_KEY: ${{ secrets.ALGOLIA_CRAWLER_API_KEY }} |
| 137 | + ALGOLIA_CRAWLER_ID: ${{ secrets.ALGOLIA_CRAWLER_ID }} |
| 138 | + ALGOLIA_CRAWLER_USER_ID: ${{ secrets.ALGOLIA_CRAWLER_USER_ID }} |
| 139 | + |
| 140 | + - name: Build university |
| 141 | + run: make publish-university |
| 142 | + |
| 143 | + - name: Publish to PyPI - wave_university |
| 144 | + uses: pypa/gh-action-pypi-publish@master |
| 145 | + with: |
| 146 | + packages_dir: university/dist |
| 147 | + password: ${{ secrets.PYPI_UNIVERSITY_TOKEN }} |
| 148 | + |
| 149 | + - name: Publish to PyPI - lightwave |
| 150 | + uses: pypa/gh-action-pypi-publish@master |
| 151 | + with: |
| 152 | + packages_dir: py/h2o_lightwave/dist |
| 153 | + password: ${{ secrets.PYPI_LIGTHWAVE_TOKEN }} |
| 154 | + |
| 155 | + - name: Publish to PyPI - lightwave_web |
| 156 | + uses: pypa/gh-action-pypi-publish@master |
| 157 | + with: |
| 158 | + packages_dir: py/h2o_lightwave_web/dist |
| 159 | + password: ${{ secrets.PYPI_LIGTHWAVE_WEB_TOKEN }} |
52 | 160 |
|
53 | 161 | - name: Download H2O CLI
|
54 | 162 | working-directory: ./py/tmp/tour/
|
|
66 | 174 | working-directory: ./py/apps/tour/
|
67 | 175 | run: sed -i -r -e "s/h2o_wave==\{\{VERSION\}\}/h2o_wave-${{ env.VERSION }}-py3-none-manylinux1_x86_64.whl/g" requirements.txt
|
68 | 176 |
|
69 |
| - |
70 | 177 | - name: Make air-gapped bundle
|
71 | 178 | working-directory: ./py/tmp/tour/
|
72 | 179 | run: |
|
|
0 commit comments