Github-actions : complex deploy and build strategies

Complex deploy and build strategies using magento_only and pwa_studio_only args :

Build magento only in a git repo containing magento and pwa-studio directory

      - name: 'launch magento2 build'
        id: buildOneOnly
        uses: MAD-I-T/magento-actions@v3.28
        env:
          COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
        with:
          process: 'build'
          langs: 'en_US,fr_FR'
          themes: 'Magento/luma'
          php: '8.2'
          magento_only: 1

Build pwa-studio only in a git repo containing magento and pwa-studio directory

      - name: 'launch pwa studio build'
        id: buildOneOnly
        uses: MAD-I-T/magento-actions@v3.28
        env:
          COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
        with:
          process: 'build'
          pwa_studio_only: 1

Deploy magento only in a repo containing magento and pwa-studio directory

 - name: 'DEPLOY PROD MAGENTO BACKEND'
        if: steps.buildOneOnly.outcome == 'success'
        uses: MAD-I-T/magento-actions@v3.28
        env:
          COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
          BUCKET_COMMIT: bucket-commit-${{github.sha}}.tar.gz
          HOST_DEPLOY_PATH: ${{secrets.PROD_HOST_DEPLOY_PATH}}
          HOST_DEPLOY_PATH_BUCKET: ${{secrets.PROD_HOST_DEPLOY_PATH}}/bucket
          SSH_PRIVATE_KEY: ${{secrets.PROD_SSH_PRIVATE_KEY}}
          SSH_CONFIG: ${{secrets.PROD_SSH_CONFIG}}
          WRITE_USE_SUDO: false
        with:
          php: '8.2'
          process: 'deploy-prod'
          keep_releases: 2
          deployer: 'no-permission-check'
          magento_only: 1

      - name: 'UNLOCK DEPLOY PROD BACKEND'
        if: failure() 
        uses: MAD-I-T/magento-actions@master
        env:
          COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
          BUCKET_COMMIT: bucket-commit-${{github.sha}}.tar.gz
          HOST_DEPLOY_PATH: ${{secrets.PROD_HOST_DEPLOY_PATH}}
          HOST_DEPLOY_PATH_BUCKET: ${{secrets.PROD_HOST_DEPLOY_PATH}}/bucket
          SSH_PRIVATE_KEY: ${{secrets.PROD_SSH_PRIVATE_KEY}}
          SSH_CONFIG: ${{secrets.PROD_SSH_CONFIG}}
          WRITE_USE_SUDO: false
        with:
          php: '8.2'
          process: 'cleanup-production'
          magento_only: 1

Deploy pwa-studio only in a git repo containing magento and pwa-studio directory

      - name: 'DEPLOY PROD PWA STUDIO'
        if: steps.buildOneOnly.outcome == 'success'
        uses: MAD-I-T/magento-actions@v3.28
        env:
          COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
          BUCKET_COMMIT: bucket-commit-${{github.sha}}.tar.gz
          HOST_DEPLOY_PATH: ${{secrets.PROD_PWA_HOST_DEPLOY_PATH}}
          HOST_DEPLOY_PATH_BUCKET: ${{secrets.PROD_PWA_HOST_DEPLOY_PATH}}/bucket
          SSH_PRIVATE_KEY: ${{secrets.PROD_PWA_SSH_PRIVATE_KEY}}
          SSH_CONFIG: ${{secrets.PROD_PWA_SSH_CONFIG}}
          WRITE_USE_SUDO: false
        with:
          php: '8.2'
          process: 'deploy-production'
          keep_releases: 2
          deployer: 'no-permission-check'
          pwa_studio_only: 1

      - name: 'UNLOCK DEPLOY PROD PWA STUDIO'
        if: failure() 
        uses: MAD-I-T/magento-actions@v3.28
        env:
          COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
          BUCKET_COMMIT: bucket-commit-${{github.sha}}.tar.gz
          HOST_DEPLOY_PATH: ${{secrets.PROD_PWA_HOST_DEPLOY_PATH}}
          HOST_DEPLOY_PATH_BUCKET: ${{secrets.PROD_PWA_HOST_DEPLOY_PATH}}/bucket
          SSH_PRIVATE_KEY: ${{secrets.PROD_PWA_SSH_PRIVATE_KEY}}
          SSH_CONFIG: ${{secrets.PROD_PWA_SSH_CONFIG}}
          WRITE_USE_SUDO: false
        with:
          php: '8.2'
          process: 'cleanup-production'
          pwa_studio_only: 1
   

Deploy magento and pwa-studio to different servers from one git repo.

Combine the two preceding steps, utilizing different env variables through github secrets:

          HOST_DEPLOY_PATH: ${{secrets.PROD_PWA_HOST_DEPLOY_PATH}}
          HOST_DEPLOY_PATH_BUCKET: ${{secrets.PROD_PWA_HOST_DEPLOY_PATH}}/bucket
          SSH_PRIVATE_KEY: ${{secrets.PROD_PWA_SSH_PRIVATE_KEY}}
          SSH_CONFIG: ${{secrets.PROD_PWA_SSH_CONFIG}}
                                &
          HOST_DEPLOY_PATH: ${{secrets.PROD_MAGENTO_HOST_DEPLOY_PATH}}
          HOST_DEPLOY_PATH_BUCKET: ${{secrets.PROD_MAGENTO_HOST_DEPLOY_PATH}}/bucket
          SSH_PRIVATE_KEY: ${{secrets.PROD_MAGENTO_SSH_PRIVATE_KEY}}
          SSH_CONFIG: ${{secrets.PROD_MAGENTO_SSH_CONFIG}}