From 7c3097a5746856f8b6c30077aa7191b2371be094 Mon Sep 17 00:00:00 2001 From: Vladimir Ischenko Date: Wed, 22 Jan 2025 19:23:18 +0300 Subject: [PATCH] Test lint check common OCI --- .github/workflows/ci-oci-docker-install.yml | 91 +++++++++++---------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ci-oci-docker-install.yml b/.github/workflows/ci-oci-docker-install.yml index e903d16ef3..03c7cb494e 100644 --- a/.github/workflows/ci-oci-docker-install.yml +++ b/.github/workflows/ci-oci-docker-install.yml @@ -11,9 +11,11 @@ on: - 'hotfix/**' - 'release/**' - 'develop' + - 'feature/fix-common-oci' paths: - 'install/OneClickInstall/install-Docker.sh' - 'install/docker/*.yml' + - '.github/workflows/ci-oci-docker-install.yml' workflow_dispatch: inputs: offline: @@ -90,58 +92,57 @@ jobs: run: | set -eux sudo apt-get install -y shellcheck - find install/docker -type f -name "*.sh" | cat - <(echo "install/OneClickInstall/install-Docker.sh") \ - | xargs shellcheck --exclude="$(awk '!/^#|^$/ {print $1}' tests/lint/sc_ignore | paste -sd ",")" --severity=warning | tee sc_output + find install/common -type f -name "*.sh" | xargs shellcheck --exclude="$(awk '!/^#|^$/ {print $1}' tests/lint/sc_ignore | paste -sd ",")" --severity=warning | tee sc_output awk '/\(warning\):/ {w++} /\(error\):/ {e++} END {if (w+e) printf "::warning ::ShellCheck detected %d warnings and %d errors\n", w+0, e+0}' sc_output - - name: Free Disk Space - if: ${{ github.event.inputs.offline == 'true' }} - run: | - docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) && docker volume rm $(docker volume ls -q) - sudo rm -rf /usr/local/lib/android /opt/ghc /usr/share/swift /usr/share/miniconda /usr/share/az* /usr/share/glade* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell + # - name: Free Disk Space + # if: ${{ github.event.inputs.offline == 'true' }} + # run: | + # docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) && docker volume rm $(docker volume ls -q) + # sudo rm -rf /usr/local/lib/android /opt/ghc /usr/share/swift /usr/share/miniconda /usr/share/az* /usr/share/glade* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell - - name: Creating 4testing offline self-extracting archive - if: ${{ github.event.inputs.offline == 'true' }} - run: | - INSTALL_PATH=${{ github.workspace }}/install + # - name: Creating 4testing offline self-extracting archive + # if: ${{ github.event.inputs.offline == 'true' }} + # run: | + # INSTALL_PATH=${{ github.workspace }}/install - docker images --format "{{.Repository}}:{{.Tag}}" | grep "4testing-" | xargs -I{} bash -c ' - docker tag "$1" $(echo "${1/4testing-/}" | sed -E "s/([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+/\1/") - docker rmi "$1" - ' _ {} + # docker images --format "{{.Repository}}:{{.Tag}}" | grep "4testing-" | xargs -I{} bash -c ' + # docker tag "$1" $(echo "${1/4testing-/}" | sed -E "s/([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+/\1/") + # docker rmi "$1" + # ' _ {} - sed -i 's~\(OFFLINE_INSTALLATION="\|SKIP_HARDWARE_CHECK="\).*"$~\1true"~' "${INSTALL_PATH}/OneClickInstall/install-Docker.sh" + # sed -i 's~\(OFFLINE_INSTALLATION="\|SKIP_HARDWARE_CHECK="\).*"$~\1true"~' "${INSTALL_PATH}/OneClickInstall/install-Docker.sh" - echo "Creating offline self-extracting archive..." - docker save $(docker images --format "{{.Repository}}:{{.Tag}}") | xz --verbose -T0 -z -9e > ${INSTALL_PATH}/docker_images.tar.xz - cd ${INSTALL_PATH}/docker && tar -czvf ${INSTALL_PATH}/docker.tar.gz --exclude='config/supervisor*' *.yml .env config/ + # echo "Creating offline self-extracting archive..." + # docker save $(docker images --format "{{.Repository}}:{{.Tag}}") | xz --verbose -T0 -z -9e > ${INSTALL_PATH}/docker_images.tar.xz + # cd ${INSTALL_PATH}/docker && tar -czvf ${INSTALL_PATH}/docker.tar.gz --exclude='config/supervisor*' *.yml .env config/ - tar -cvf ${INSTALL_PATH}/offline-docspace.tar \ - -C "${INSTALL_PATH}/OneClickInstall" install-Docker.sh \ - -C "${INSTALL_PATH}" docker_images.tar.xz \ - -C "${INSTALL_PATH}" docker.tar.gz - rm -rf ${INSTALL_PATH}/docker_images.tar.xz ${INSTALL_PATH}/docker.tar.gz + # tar -cvf ${INSTALL_PATH}/offline-docspace.tar \ + # -C "${INSTALL_PATH}/OneClickInstall" install-Docker.sh \ + # -C "${INSTALL_PATH}" docker_images.tar.xz \ + # -C "${INSTALL_PATH}" docker.tar.gz + # rm -rf ${INSTALL_PATH}/docker_images.tar.xz ${INSTALL_PATH}/docker.tar.gz - echo "ARTIFACT_NAME=${ARTIFACT_NAME:=4testing-offline-docspace-installation.sh}" >> $GITHUB_ENV - cat ${INSTALL_PATH}/common/self-extracting.sh ${INSTALL_PATH}/offline-docspace.tar > ${INSTALL_PATH}/${ARTIFACT_NAME} - chmod +x ${INSTALL_PATH}/${ARTIFACT_NAME} + # echo "ARTIFACT_NAME=${ARTIFACT_NAME:=4testing-offline-docspace-installation.sh}" >> $GITHUB_ENV + # cat ${INSTALL_PATH}/common/self-extracting.sh ${INSTALL_PATH}/offline-docspace.tar > ${INSTALL_PATH}/${ARTIFACT_NAME} + # chmod +x ${INSTALL_PATH}/${ARTIFACT_NAME} - - name: Configure AWS Credentials - if: ${{ github.event.inputs.offline == 'true' }} - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_OCI }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_OCI }} - aws-region: us-east-1 + # - name: Configure AWS Credentials + # if: ${{ github.event.inputs.offline == 'true' }} + # uses: aws-actions/configure-aws-credentials@v4 + # with: + # aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_OCI }} + # aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_OCI }} + # aws-region: us-east-1 - - name: Upload 4testing offline self-extracting archive - if: ${{ github.event.inputs.offline == 'true' }} - run: | - aws s3 cp ${{ github.workspace }}/install/${{ env.ARTIFACT_NAME }} \ - ${{ secrets.AWS_BUCKET_URL_OCI }}/${{ env.ARTIFACT_NAME }} \ - --acl public-read \ - --content-type application/x-xz \ - --metadata-directive REPLACE - aws cloudfront create-invalidation \ - --distribution-id ${{ secrets.AWS_DISTRIBUTION_ID_OCI }} \ - --paths "/docspace/${{ env.ARTIFACT_NAME }}" + # - name: Upload 4testing offline self-extracting archive + # if: ${{ github.event.inputs.offline == 'true' }} + # run: | + # aws s3 cp ${{ github.workspace }}/install/${{ env.ARTIFACT_NAME }} \ + # ${{ secrets.AWS_BUCKET_URL_OCI }}/${{ env.ARTIFACT_NAME }} \ + # --acl public-read \ + # --content-type application/x-xz \ + # --metadata-directive REPLACE + # aws cloudfront create-invalidation \ + # --distribution-id ${{ secrets.AWS_DISTRIBUTION_ID_OCI }} \ + # --paths "/docspace/${{ env.ARTIFACT_NAME }}"