From a745830afba48b9ee7c3de45d741dc8b981a041c Mon Sep 17 00:00:00 2001 From: sulhicader Date: Thu, 14 Mar 2024 15:20:16 +0530 Subject: [PATCH] Fixed the problem when bulding the tour image #2288 --- .github/workflows/release-wave.yml | 117 +++++++++++++++++++++++++++-- py/tests/__main__.py | 3 + 2 files changed, 115 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-wave.yml b/.github/workflows/release-wave.yml index bfa2ecdc56..3fcda7efca 100644 --- a/.github/workflows/release-wave.yml +++ b/.github/workflows/release-wave.yml @@ -1,12 +1,16 @@ name: Release Wave on: - push: + workflow_dispatch: + inputs: + version: + description: 'Release Version' + required: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VERSION: "1.1.1" - TAG: "1.1.1" + VERSION: "${{ github.event.inputs.version }}" + TAG: "v${{ github.event.inputs.version }}" jobs: release: @@ -47,8 +51,112 @@ jobs: make test-ui-ci make test-py-ci + - name: Create GitHub Release + id: create_release + uses: actions/create-release@v1 + with: + tag_name: ${{ env.TAG }} + release_name: ${{ env.TAG }} + draft: false + + - name: Release + uses: softprops/action-gh-release@v1 + with: + files: | + build/wave-${{ env.VERSION }}-darwin-amd64.tar.gz + build/wave-${{ env.VERSION }}-darwin-arm64.tar.gz + build/wave-${{ env.VERSION }}-linux-amd64.tar.gz + build/wave-${{ env.VERSION }}-windows-amd64.tar.gz + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-macosx_10_9_x86_64.whl + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-macosx_11_0_arm64.whl + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-macosx_12_0_arm64.whl + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-manylinux1_x86_64.whl + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-win_amd64.whl + py/h2o_wave/dist/h2o_wave-${{ env.VERSION }}-py3-none-any.whl + r/build/h2owave_${{ env.VERSION }}_R.tar.gz + tag_name: ${{ env.TAG }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish to Conda + uses: marek-mihok/publish_conda_package_action@v1.0.1 + with: + CondaDir: 'py/h2o_wave/conda' + Platforms: 'noarch' + CondaUsername: ${{ secrets.CONDA_USERNAME }} + CondaPassword: ${{ secrets.CONDA_PASSWORD }} + env: + # VERSION clashes with conda build. Use PKG_VERSION instead. + PKG_VERSION: ${{ env.VERSION }} + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@master + with: + packages_dir: py/h2o_wave/dist + password: ${{ secrets.PYPI_API_TOKEN }} + + - name: Publish Docs + run: | + make publish-website + aws cloudfront create-invalidation --distribution-id $AWS_CLOUDFRONT_DISTRIBUTION_ID --paths "/*" + env: + AWS_CLOUDFRONT_DISTRIBUTION_ID: ${{ secrets.AWS_CLOUDFRONT_DISTRIBUTION_ID }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_DEFAULT_REGION: ${{ secrets.AWS_WEST_REGION }} + + - name: Publish to S3 + run: make publish-release-s3 + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_DEFAULT_REGION: ${{ secrets.AWS_EAST_REGION }} + - name: Publish apps for Cloud - run: make build-apps + run: make build-apps publish-apps-s3-hac + env: + HAC_S3_BUCKET : ${{ secrets.HAC_S3_BUCKET }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_DEFAULT_REGION: ${{ secrets.AWS_WEST_REGION }} + + - name: Publish apps for Managed Cloud + run: make publish-apps-s3-mc + env: + MC_S3_BUCKET : ${{ secrets.MC_S3_BUCKET }} + AWS_ACCESS_KEY_ID: ${{ secrets.MC_AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY : ${{ secrets.MC_AWS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.MC_AWS_REGION }} + + # Call some time after cloudfront cache bust - crawler needs to hit fresh cache. + - name: Reindex Algolia search + run: | + 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 + env: + ALGOLIA_CRAWLER_API_KEY: ${{ secrets.ALGOLIA_CRAWLER_API_KEY }} + ALGOLIA_CRAWLER_ID: ${{ secrets.ALGOLIA_CRAWLER_ID }} + ALGOLIA_CRAWLER_USER_ID: ${{ secrets.ALGOLIA_CRAWLER_USER_ID }} + + - name: Build university + run: make publish-university + + - name: Publish to PyPI - wave_university + uses: pypa/gh-action-pypi-publish@master + with: + packages_dir: university/dist + password: ${{ secrets.PYPI_UNIVERSITY_TOKEN }} + + - name: Publish to PyPI - lightwave + uses: pypa/gh-action-pypi-publish@master + with: + packages_dir: py/h2o_lightwave/dist + password: ${{ secrets.PYPI_LIGTHWAVE_TOKEN }} + + - name: Publish to PyPI - lightwave_web + uses: pypa/gh-action-pypi-publish@master + with: + packages_dir: py/h2o_lightwave_web/dist + password: ${{ secrets.PYPI_LIGTHWAVE_WEB_TOKEN }} - name: Download H2O CLI working-directory: ./py/tmp/tour/ @@ -66,7 +174,6 @@ jobs: working-directory: ./py/apps/tour/ run: sed -i -r -e "s/h2o_wave==\{\{VERSION\}\}/h2o_wave-${{ env.VERSION }}-py3-none-manylinux1_x86_64.whl/g" requirements.txt - - name: Make air-gapped bundle working-directory: ./py/tmp/tour/ run: | diff --git a/py/tests/__main__.py b/py/tests/__main__.py index a87194df45..0337067af0 100644 --- a/py/tests/__main__.py +++ b/py/tests/__main__.py @@ -6,6 +6,9 @@ import os import platform +# HACK: Use urllib3 import side-effect to resolve "ResourceWarning: unclosed transport" in python>=3.9 versions. +import urllib3 + from .test_expando import * from .test_python_server import * from .test_python_server_async import *