Prepare changes for the 3.0.1 release (#334) #38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Integration Tests | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| types: [opened, reopened] | |
| branches: | |
| - master | |
| - release/** | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| env: | |
| TOKEN: ${{ secrets.GLOBAL_GITHUB_TOKEN }} | |
| strategy: | |
| matrix: | |
| include: | |
| - PHP_VERSION: php74-fpm | |
| MAGENTO_VERSION: 2.3.7-p4 | |
| - PHP_VERSION: php82-fpm | |
| MAGENTO_VERSION: 2.4.6-p12 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Start Docker | |
| run: docker run --detach --name magento-project-community-edition michielgerritsen/magento-project-community-edition:${{ matrix.PHP_VERSION }}-magento${{ matrix.MAGENTO_VERSION }} | |
| - name: Upload our code into the docker container | |
| run: docker cp "$(pwd)" magento-project-community-edition:/data/extensions/ | |
| - name: Extract branch name | |
| id: extract_branch | |
| shell: bash | |
| run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT | |
| - name: Pick repositories and branches | |
| id: pick | |
| shell: bash | |
| run: | | |
| check_branch() { | |
| local OWNER="$1" | |
| local REPO="$2" | |
| local BRANCH="$3" | |
| local DEFAULT="$4" | |
| STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ | |
| -H "Authorization: Bearer $TOKEN" \ | |
| "https://api.github.com/repos/$OWNER/$REPO/branches/$BRANCH") | |
| if [ "$STATUS" -eq 200 ]; then | |
| echo "$BRANCH" | |
| else | |
| echo "$DEFAULT" | |
| fi | |
| } | |
| OWNER="$(echo "${GITHUB_REPOSITORY}" | cut -d'/' -f1)" | |
| CURRENT_REPO="$(echo "${GITHUB_REPOSITORY}" | cut -d'/' -f2)" | |
| BRANCH="${{ steps.extract_branch.outputs.branch }}" | |
| DEFAULT="master" | |
| if [[ "$CURRENT_REPO" == *internal* ]]; then | |
| ADMIN_REPO="magento2-internal-adminhtml" | |
| CORE_REPO="magento2-internal-core" | |
| SDK_REPO="php-sdk-internal" | |
| else | |
| ADMIN_REPO="magento2-adminhtml" | |
| CORE_REPO="magento2-core" | |
| SDK_REPO="php-sdk" | |
| fi | |
| ADMIN_BRANCH=$(check_branch "$OWNER" "$ADMIN_REPO" "$BRANCH" "$DEFAULT") | |
| CORE_BRANCH=$(check_branch "$OWNER" "$CORE_REPO" "$BRANCH" "$DEFAULT") | |
| SDK_BRANCH=$(check_branch "$OWNER" "$SDK_REPO" "$BRANCH" "$DEFAULT") | |
| echo "admin-repo=$OWNER/$ADMIN_REPO" >> $GITHUB_OUTPUT | |
| echo "admin-branch=$ADMIN_BRANCH" >> $GITHUB_OUTPUT | |
| echo "core-repo=$OWNER/$CORE_REPO" >> $GITHUB_OUTPUT | |
| echo "core-branch=$CORE_BRANCH" >> $GITHUB_OUTPUT | |
| echo "sdk-repo=$OWNER/$SDK_REPO" >> $GITHUB_OUTPUT | |
| echo "sdk-branch=$SDK_BRANCH" >> $GITHUB_OUTPUT | |
| - uses: actions/checkout@v5 | |
| with: | |
| repository: ${{ steps.pick.outputs.admin-repo }} | |
| ref: ${{ steps.pick.outputs.admin-branch }} | |
| token: ${{ env.TOKEN }} | |
| path: magento2-adminhtml | |
| - uses: actions/checkout@v5 | |
| with: | |
| repository: ${{ steps.pick.outputs.core-repo }} | |
| ref: ${{ steps.pick.outputs.core-branch }} | |
| token: ${{ env.TOKEN }} | |
| path: magento2-core | |
| - uses: actions/checkout@v5 | |
| with: | |
| repository: ${{ steps.pick.outputs.sdk-repo }} | |
| ref: ${{ steps.pick.outputs.sdk-branch }} | |
| token: ${{ env.TOKEN }} | |
| path: php-sdk | |
| - name: Create directories in the container | |
| run: | | |
| docker exec magento-project-community-edition mkdir -p /data/extensions/magento2-adminhtml | |
| docker exec magento-project-community-edition mkdir -p /data/extensions/magento2-core | |
| docker exec magento-project-community-edition mkdir -p /data/extensions/php-sdk | |
| - name: Copy repositories into the container | |
| run: | | |
| docker cp "${{ github.workspace }}/magento2-adminhtml/." magento-project-community-edition:/data/extensions/magento2-adminhtml | |
| docker cp "${{ github.workspace }}/magento2-core/." magento-project-community-edition:/data/extensions/magento2-core | |
| docker cp "${{ github.workspace }}/php-sdk/." magento-project-community-edition:/data/extensions/php-sdk | |
| - name: Install the extension in Magento | |
| run: docker exec magento-project-community-edition composer require multisafepay/magento2-frontend | |
| - name: Run tests | |
| run: docker exec magento-project-community-edition bash -c "php bin/magento deploy:mode:set developer && cd /data/dev/tests/integration/ && ../../../vendor/bin/phpunit ../../../vendor/multisafepay/magento2-frontend/Test/Integration" |