From 07e18be2ae726e0753cb0910617ea697a6d66826 Mon Sep 17 00:00:00 2001 From: Sanyi Date: Mon, 29 Jul 2024 06:28:55 +0200 Subject: [PATCH] EMA-150 auto test memory optimizing --- .github/workflows/tests.yml | 65 ++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 11 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c94eb9a..c2cbf98 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,7 @@ on: - "*" jobs: - build-and-run-test: + unit-tests: runs-on: github-actions-runner-emarsys permissions: contents: "read" @@ -22,21 +22,18 @@ jobs: shell: bash run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT id: extract_branch - - name: Checkout code shell: bash run: | sudo apt-get update sudo apt-get install git -y git clone --branch ${{ steps.extract_branch.outputs.branch }} https://github.com/emartech/magento2-extension.git - - name: Login to GitLab uses: docker/login-action@v3 with: registry: ${{ vars.REGISTRY_URL }} username: ${{ secrets.GITLAB_USER }} password: ${{ secrets.GITLAB_TOKEN }} - - name: Install system tools shell: bash run: | @@ -51,7 +48,6 @@ jobs: sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-compose-plugin docker-buildx-plugin -y - - name: Build mage_node image shell: bash run: | @@ -59,21 +55,68 @@ jobs: DOCKER_BUILDKIT=1 docker build -f testv2/tools/docker/Dockerfile-mage-node --build-arg NPM_TOKEN=$NPM_TOKEN -t "mage_node" . env: NPM_TOKEN: ${{ secrets.GITLAB_TOKEN }} - - - name: Run unit tests + - name: Run unittest shell: bash run: | cd magento2-extension - docker run -e VERSION=${{ matrix.magento-versions }} -e NPM_TOKEN=${{ secrets.GITLAB_TOKEN }} mage_node bash dev/testv2/tools/scripts/run-unit-tests.sh + bash dev/testv2/tools/scripts/run-unit.sh env: VERSION: ${{ matrix.magento-versions }} NPM_TOKEN: ${{ secrets.GITLAB_TOKEN }} - - - name: Run e2e tests + e2e-tests: + runs-on: github-actions-runner-emarsys + needs: unit-tests + permissions: + contents: "read" + strategy: + max-parallel: 1 + fail-fast: false + matrix: + magento-versions: + ["2.3.5ce", "2.4.0ce", "2.4.2ce", "2.4.4ce", "2.4.6ce"] + steps: + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + - name: Checkout code + shell: bash + run: | + sudo apt-get update + sudo apt-get install git -y + git clone --branch ${{ steps.extract_branch.outputs.branch }} https://github.com/emartech/magento2-extension.git + - name: Login to GitLab + uses: docker/login-action@v3 + with: + registry: ${{ vars.REGISTRY_URL }} + username: ${{ secrets.GITLAB_USER }} + password: ${{ secrets.GITLAB_TOKEN }} + - name: Install system tools + shell: bash + run: | + sudo apt-get update + sudo apt-get install ca-certificates curl gnupg -y + sudo install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + sudo chmod a+r /etc/apt/keyrings/docker.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt-get update + sudo apt-get install docker-compose-plugin docker-buildx-plugin -y + - name: Build mage_node image + shell: bash + run: | + cd magento2-extension/dev + DOCKER_BUILDKIT=1 docker build -f testv2/tools/docker/Dockerfile-mage-node --build-arg NPM_TOKEN=$NPM_TOKEN -t "mage_node" . + env: + NPM_TOKEN: ${{ secrets.GITLAB_TOKEN }} + - name: Run e2stest shell: bash run: | cd magento2-extension - docker run -e VERSION=${{ matrix.magento-versions }} -e NPM_TOKEN=${{ secrets.GITLAB_TOKEN }} mage_node bash dev/testv2/tools/scripts/run-e2e.sh + bash dev/testv2/tools/scripts/run-e2e.sh env: VERSION: ${{ matrix.magento-versions }} NPM_TOKEN: ${{ secrets.GITLAB_TOKEN }}