فهرست منبع

[ci] Remove py2 CI and update other checks (#3316)

- Remove Py2.7 CI
- Remove autosquash Github action
- Update UI CI to Frontend CI
Harsh Gupta 2 سال پیش
والد
کامیت
d246eced92

+ 25 - 205
.circleci/config.yml

@@ -5,7 +5,7 @@
 version: 2.1
 
 commands:
-  build-common:
+  build-py-38-common:
     parameters:
       go_arch:
         # amd64 or arm64
@@ -16,100 +16,29 @@ commands:
     steps:
       - checkout
 
-      # Download and cache dependencies
-      # - restore_cache:
-      #     keys:
-      #       - v1-dependencies-{{ checksum "requirements.txt" }}
-      #       # fallback to using the latest cache if no exact match is found
-      #       - v1-dependencies-
-
-      # - run:
-      #     name: install dependencies
-      #     command: |
-      #       python -m venv venv
-      #       . venv/bin/activate
-      #       pip install -r requirements.txt
-
-      # - save_cache:
-      #     paths:
-      #       - ./venv
-      #     key: v1-dependencies-{{ checksum "requirements.txt" }}
-
-      # Revert to traditional pip install when build refactored, in the meantime:
       - run:
-          name: refresh sources
+          name: compile
           command: |
-            if [ ! -d /usr/share/hue ]; then
-              # Ubuntu 20.04 ARM64
-              sudo mkdir -p /usr/share/hue
-              sudo chown -R $USER:$USER /usr/share/hue
-            fi
-
-            rm -rf /usr/share/hue/desktop/core/src/desktop
-            mkdir -p /usr/share/hue/desktop/core/src/
-            cp -r desktop/core/src/desktop /usr/share/hue/desktop/core/src/desktop
-
-            for lib in `ls desktop/libs`
-            do
-              rm -rf /usr/share/hue/desktop/libs/$lib/src/$lib
-              mkdir -p /usr/share/hue/desktop/libs/$lib/src/
-              cp -r desktop/libs/$lib/src/$lib /usr/share/hue/desktop/libs/$lib/src/$lib
-            done
-            for lib in `ls apps | grep -v Makefile | grep -v logs`
-            do
-              rm -rf /usr/share/hue/apps/$lib/src/$lib
-              mkdir -p /usr/share/hue/apps/$lib/src/
-              cp -r apps/$lib/src/$lib /usr/share/hue/apps/$lib/src/$lib
-            done
 
-            rm -rf /usr/share/hue/tools
-            cp -r tools /usr/share/hue
-
-            rm -f /usr/share/hue/desktop/conf/*.ini
-            mkdir -p /usr/share/hue/desktop/conf/
-            cp desktop/conf/pseudo-distributed.ini.tmpl /usr/share/hue/desktop/conf/pseudo-distributed.ini
-
-            # ini configuration tweaks
-            ## Very slow if on, cuts time in two and does not skip tests
-            sed -i 's/## has_iam_detection=true/  has_iam_detection=false/g' /usr/share/hue/desktop/conf/pseudo-distributed.ini
-
-            # build Hue when using plain Ubuntu image
-            if [ ! -f /usr/share/hue/build/env/bin/hue ]; then
-              sudo add-apt-repository --yes ppa:deadsnakes/ppa
+            if [ -d /usr/share/hue ]; then
+              # Running in gethue/hue Docker container
+              apt-get update
+              apt-get install -y python3.8-dev python3.8-venv python3.8-distutils libsnappy-dev # This should not be needed as some point
+              curl -sL https://bootstrap.pypa.io/get-pip.py | python3.8
+            else
+              sudo ln -fs /usr/share/zoneinfo/UTC /etc/localtime
+              export DEBIAN_FRONTEND=noninteractive
               sudo apt-get update
-              DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true TZ=UTC sudo apt-get install -y --no-install-recommends python2.7-dev libsnappy-dev asciidoc git ant gcc g++ libffi-dev libkrb5-dev libmysqlclient-dev libsasl2-dev libsasl2-modules-gssapi-mit libsqlite3-dev libssl-dev libxml2-dev libxslt-dev make maven libldap2-dev python-setuptools libgmp3-dev
-              # see https://docs.gethue.com/administrator/installation/dependencies/#mysql--mariadb
-              git config user.email "hue+circleci@example.com"
-              git config user.name "Hue CircleCI"
-              git cherry-pick 7a9100d4a7f38eaef7bd4bd7c715ac1f24a969a8
-              git cherry-pick e67c1105b85b815346758ef1b9cd714dd91d7ea3
-              git clean -fdx
-              make apps
-              cp -r build /usr/share/hue/
+              sudo apt-get install -y gcc g++ build-essential python3.8-dev python3.8-venv python3.8-distutils asciidoc rsync curl libkrb5-dev libldap2-dev libsasl2-dev libxml2-dev libxslt-dev  libsasl2-modules-gssapi-mit libsnappy-dev libffi-dev
+              curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - && sudo apt-get install -y nodejs
+              curl -sL https://bootstrap.pypa.io/get-pip.py | sudo python3.8
+              sudo apt-get install -y libncursesw5-dev libgdbm-dev libc6-dev libssl-dev openssl
             fi
 
-            cd /usr/share/hue
-            # make npm-install # Not available
-            cp ~/repo/babel.config.js .
-            cp ~/repo/tsconfig.json .
-            cp ~/repo/jest.config.js .
-            cp ~/repo/.pylintrc .
-            cp ~/repo/.stylelintrc .
-
-            cp ~/repo/webpack.config*.js .
-            rm -f package.json
-            cp ~/repo/package.json .
-            rm -f package-lock.json
-            cp ~/repo/package-lock.json .
-            npm install
-            npm run webpack
-            npm run webpack-login
-            npm run webpack-workers
-            ./build/env/bin/hue collectstatic --noinput
-
-            cp -r ~/repo/docs .
+            export PYTHON_VER=python3.8
+            export ROOT=$PWD
+            make apps
 
-      # Run documentation lint
       - run:
           name: run documentation lints
           command: |
@@ -130,86 +59,35 @@ commands:
             ./tools/ci/check_for_website_dead_links.sh docs/docs-site
             # ./tools/ci/check_for_website_dead_links.sh docs/gethue
 
-      # Run code lints
       - run:
           name: run python lints
           command: |
-            cd ~/repo
-
-            /usr/share/hue/build/env/bin/pip install pylint==1.7.5 pylint-django==0.7.2 configparser==4.0.2
-            ./tools/ci/check_for_python_lint.sh /usr/share/hue
+            ./build/env/bin/pip install pylint==2.5.3 pylint-django==2.3.0 configparser==5.3.0
+            ./tools/ci/check_for_python_lint.sh
 
-      # Run tests
       - run:
-          name: run python API tests
+          name: run tests
           command: |
-            cd /usr/share/hue
-
             PYTHONWARNINGS=always ./build/env/bin/hue test unit --with-xunit --with-cover
 
       - store_artifacts:
           path: test-reports
           destination: test-reports
 
-  build-py-38-common:
-    steps:
-      - checkout
-
-      - run:
-          name: compile
-          command: |
-
-            if [ -d /usr/share/hue ]; then
-              # Running in gethue/hue Docker container
-              apt-get update
-              apt-get install -y python3.8-dev python3.8-venv python3.8-distutils libsnappy-dev # This should not be needed as some point
-              curl -sL https://bootstrap.pypa.io/get-pip.py | python3.8
-            else
-              sudo ln -fs /usr/share/zoneinfo/UTC /etc/localtime
-              export DEBIAN_FRONTEND=noninteractive
-              sudo apt-get update
-              sudo apt-get install -y gcc g++ build-essential python3.8-dev python3.8-venv python3.8-distutils asciidoc rsync curl libkrb5-dev libldap2-dev libsasl2-dev libxml2-dev libxslt-dev  libsasl2-modules-gssapi-mit libsnappy-dev libffi-dev
-              curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - && sudo apt-get install -y nodejs
-              curl -sL https://bootstrap.pypa.io/get-pip.py | sudo python3.8
-              sudo apt-get install -y libncursesw5-dev libgdbm-dev libc6-dev libssl-dev openssl
-            fi
-
-            export PYTHON_VER=python3.8
-            export ROOT=$PWD
-            make apps
-
-      - run:
-          name: run python lints
-          command: |
-            ./build/env/bin/pip install pylint==2.5.3 pylint-django==2.3.0 configparser==5.3.0
-            ./tools/ci/check_for_python_lint.sh
-
-      - run:
-          name: run tests
-          command: |
-            PYTHONWARNINGS=always ./build/env/bin/hue test unit --with-xunit --with-cover
-
 
 jobs:
-  build:
+  build-py-38:
     docker:
-      # specify the version you desire here
-      # - image: circleci/python:3.8.0
-      - image: gethue/hue:latest-py2
-
-      # Specify service dependencies here if necessary
-      # CircleCI maintains a library of pre-built images
-      # documented at https://circleci.com/docs/2.0/circleci-images/
-      # - image: circleci/postgres:9.4
+      - image: gethue/hue:latest-py2 # Should be circleci/python:3.6 at some point
 
     working_directory: ~/repo
 
     steps:
-      - build-common:
+      - build-py-38-common:
           go_arch: "amd64"
           hugo_arch: "64bit"
 
-  build-arm64:
+  build-py-38-arm64:
     machine:
       image: ubuntu-2004:202101-01
     resource_class: arm.medium
@@ -217,70 +95,12 @@ jobs:
     working_directory: ~/repo
 
     steps:
-      - build-common:
+      - build-py-38-common:
           go_arch: "arm64"
           hugo_arch: "ARM64"
 
-  commit:
-    docker:
-      - image: circleci/python:3.8.0
-
-    working_directory: ~/repo
-
-    steps:
-      - checkout
-
-      - add_ssh_keys:
-          fingerprints:
-            - "8c:68:29:28:04:80:38:31:c0:59:d9:3d:65:3e:b7:8c"
-
-      - run:
-          name: push to master
-          command: |
-            git push origin HEAD:master
-
-  build-py-38:
-    docker:
-      - image: gethue/hue:latest-py2 # Should be circleci/python:3.6 at some point
-
-    working_directory: ~/repo
-
-    steps:
-      - build-py-38-common
-
-  build-py-38-arm64:
-    machine:
-      image: ubuntu-2004:202101-01
-    resource_class: arm.medium
-
-    working_directory: ~/repo
-
-    steps:
-      - build-py-38-common
-
 workflows:
   version: 2
-  run-tests-and-rebase-master:
-    jobs:
-      - build:
-          filters:
-            branches:
-              ignore:
-                - master
-                - py3-ci
-      - build-arm64:
-          filters:
-            branches:
-              ignore:
-                - master
-                - py3-ci
-      - commit:
-          requires:
-            - build
-          filters:
-            branches:
-              only:
-                - /.*ci-commit-master.*/
   build-python3:
     jobs:
       - build-py-38:

+ 1 - 1
.github/workflows/autoclose-stale.yml

@@ -12,7 +12,7 @@ jobs:
           stale-issue-message: 'This issue is stale because it has been open 30 days with no activity and is not labeled "Prevent stale". Remove "stale" label or comment or this will be closed in 10 days.'
           days-before-stale: 30
           days-before-close: 10
-          exempt-issue-labels: 'Prevent stale,Good first issue'
+          exempt-issue-labels: 'Prevent stale,good first issue'
 
           stale-pr-message: 'This PR is stale because it has been open 45 days with no activity and is not labeled "Prevent stale". Remove "stale" label or comment or this will be closed in 10 days.'
           exempt-pr-labels: 'Prevent stale'

+ 0 - 35
.github/workflows/autosquash.yml

@@ -1,35 +0,0 @@
-name: Autosquash
-on:
-  check_run:
-    types:
-      # Check runs completing successfully can unblock the corresponding pull requests and make them mergeable.
-      - completed
-  pull_request:
-    types:
-      # A closed pull request makes the checks on the other pull request on the same base outdated.
-      - closed
-      # Adding the autosquash label to a pull request can trigger an update or a merge.
-      - labeled
-  pull_request_review:
-    types:
-      # Review approvals can unblock the pull request and make it mergeable.
-      - submitted
-  # Success statuses can unblock the corresponding pull requests and make them mergeable.
-  status: {}
-
-jobs:
-  autosquash:
-    name: Autosquash
-    runs-on: ubuntu-18.04
-    if: github.event.pull_request.head.repo.full_name == github.repository
-    steps:
-      - uses: tibdex/autosquash@v2
-        with:
-          # The built-in secrets.GITHUB_TOKEN cannot yet be used because of this limitation:
-          # https://github.community/t5/GitHub-Actions/Triggering-a-new-workflow-from-another-workflow/td-p/31676
-          # In the meantime, use a token granting write access on the repo:
-          # - a GitHub App token
-          #   See https://github.com/marketplace/actions/github-app-token.
-          # - a personal access token
-          #   See https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line.
-          github_token: ${{ secrets.AUTOSQUASH_TOKEN }}

+ 1 - 1
.github/workflows/commitflow-ui.yml → .github/workflows/commitflow-frontend.yml

@@ -1,4 +1,4 @@
-name: UI CI
+name: Frontend CI
 
 on:
   push:

+ 0 - 113
.github/workflows/commitflow.yml

@@ -1,113 +0,0 @@
-name: Python 2 CI
-
-on:
-  push:
-    branches:
-    - master
-  pull_request:
-    branches:
-    - master
-jobs:
-  build:
-
-    runs-on: ubuntu-latest
-    container: gethue/hue:latest-py2
-
-    strategy:
-      matrix:
-        python-version: [2.7]
-
-    steps:
-    - name: Checkout
-      uses: actions/checkout@v2
-
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v2
-      with:
-        python-version: ${{ matrix.python-version }}
-
-    - name: refresh sources
-      run: |
-        pwd
-
-        rm -r /usr/share/hue/desktop/core/src/desktop
-        cp -r desktop/core/src/desktop /usr/share/hue/desktop/core/src/desktop
-
-        for lib in `ls desktop/libs`
-        do
-          rm -r /usr/share/hue/desktop/libs/$lib/src/$lib
-          cp -r desktop/libs/$lib/src/$lib /usr/share/hue/desktop/libs/$lib/src/$lib
-        done
-        for lib in `ls apps | grep -v Makefile`
-        do
-          rm -r /usr/share/hue/apps/$lib/src/$lib
-          cp -r apps/$lib/src/$lib /usr/share/hue/apps/$lib/src/$lib
-        done
-
-        rm -r /usr/share/hue/tools
-        cp -r tools /usr/share/hue
-
-        rm /usr/share/hue/desktop/conf/*.ini
-        cp desktop/conf/pseudo-distributed.ini.tmpl /usr/share/hue/desktop/conf/pseudo-distributed.ini
-
-        # ini configuration tweaks
-        ## Very slow if on, cuts time in two and does not skip tests
-        sed -i 's/## has_iam_detection=true/  has_iam_detection=false/g' /usr/share/hue/desktop/conf/pseudo-distributed.ini
-
-        # make npm-install # Not available
-        cp babel.config.js /usr/share/hue
-        cp tsconfig.json /usr/share/hue
-        cp jest.config.js /usr/share/hue
-        cp .pylintrc /usr/share/hue
-        cp .stylelintrc /usr/share/hue
-
-        cp webpack.config*.js /usr/share/hue
-        rm /usr/share/hue/package.json
-        cp package.json /usr/share/hue
-        rm /usr/share/hue/package-lock.json
-        cp package-lock.json /usr/share/hue
-
-        cp -r docs /usr/share/hue
-
-        cd /usr/share/hue
-
-        npm install
-        npm run webpack
-        npm run webpack-login
-        npm run webpack-workers
-        ./build/env/bin/hue collectstatic --noinput
-
-    # - name: run documentation lints
-    #   run: |
-    #     cd $GITHUB_WORKSPACE
-
-    #     # Installs to move to image building
-    #     curl -O https://dl.google.com/go/go1.15.linux-amd64.tar.gz
-    #     tar -xvf go1.15.linux-amd64.tar.gz
-    #     export GO111MODULE=on
-    #     go/bin/go get -u github.com/raviqqe/muffet@v1.5.7
-
-    #     curl --output hugo_0.69.0_Linux-64bit.tar.gz -L https://github.com/gohugoio/hugo/releases/download/v0.69.0/hugo_0.69.0_Linux-64bit.tar.gz
-    #     tar -xvf hugo_0.69.0_Linux-64bit.tar.gz
-
-    #     export PATH=$PWD:$HOME/go/bin:$PATH
-
-    #     # Trigger linting if documentation changes
-    #     ./tools/ci/check_for_website_dead_links.sh docs/docs-site
-    #     # ./tools/ci/check_for_website_dead_links.sh docs/gethue
-
-    # Run code lints
-    # - name: run python lints
-    #   run: |
-    #     cd $GITHUB_WORKSPACE
-
-    #     /usr/share/hue/build/env/bin/pip install pylint==1.7.5 pylint-django==0.7.2 configparser==4.0.2
-    #     ./tools/ci/check_for_python_lint.sh /usr/share/hue
-
-    # Run tests
-    - name: run python API tests
-      run: |
-        cd /usr/share/hue
-
-        PYTHONWARNINGS=always ./build/env/bin/hue test unit --with-xunit --with-cover
-