diff --git a/.github/workflows/qit.yml b/.github/workflows/qit.yml index 6f1a9a68..dc29858f 100644 --- a/.github/workflows/qit.yml +++ b/.github/workflows/qit.yml @@ -17,6 +17,7 @@ on: - phpcompat - security - malware + - validation pull_request: types: [opened, synchronize, reopened, labeled] branches: @@ -28,11 +29,11 @@ permissions: jobs: build: - if: "${{ ( inputs.test != '' && inputs.test != 'none' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit activation test') || contains(github.event.pull_request.labels.*.name, 'needs: qit api test') || contains(github.event.pull_request.labels.*.name, 'needs: qit e2e test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpstan test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpcompat test') || contains(github.event.pull_request.labels.*.name, 'needs: qit security test') || contains(github.event.pull_request.labels.*.name, 'needs: qit malware test') }}" + if: "${{ ( inputs.test != '' && inputs.test != 'none' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit activation test') || contains(github.event.pull_request.labels.*.name, 'needs: qit api test') || contains(github.event.pull_request.labels.*.name, 'needs: qit e2e test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpstan test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpcompat test') || contains(github.event.pull_request.labels.*.name, 'needs: qit security test') || contains(github.event.pull_request.labels.*.name, 'needs: qit malware test') || contains(github.event.pull_request.labels.*.name, 'needs: qit validation test') }}" uses: woocommerce/woocommerce-square/.github/workflows/generate-zip.yml@trunk test: - if: "${{ ( inputs.test != '' && inputs.test != 'none' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit activation test') || contains(github.event.pull_request.labels.*.name, 'needs: qit api test') || contains(github.event.pull_request.labels.*.name, 'needs: qit e2e test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpstan test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpcompat test') || contains(github.event.pull_request.labels.*.name, 'needs: qit security test') || contains(github.event.pull_request.labels.*.name, 'needs: qit malware test') }}" + if: "${{ ( inputs.test != '' && inputs.test != 'none' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit activation test') || contains(github.event.pull_request.labels.*.name, 'needs: qit api test') || contains(github.event.pull_request.labels.*.name, 'needs: qit e2e test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpstan test') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpcompat test') || contains(github.event.pull_request.labels.*.name, 'needs: qit security test') || contains(github.event.pull_request.labels.*.name, 'needs: qit malware test') || contains(github.event.pull_request.labels.*.name, 'needs: qit validation test') }}" needs: build name: run runs-on: ubuntu-latest @@ -81,7 +82,7 @@ jobs: - name: Run API test if: "${{ ( ( inputs.tests == 'default' || inputs.tests == 'api' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit api test') ) && ( success() || failure() ) }}" id: run-api-test - run: ./vendor/bin/qit run:woo-api ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > api-result.txt + run: ./vendor/bin/qit run:woo-api ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --extension_set=compatibility --wait > api-result.txt - uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1 if: ${{ failure() && steps.run-api-test.conclusion == 'failure' }} @@ -90,32 +91,32 @@ jobs: recreate: true path: api-result.txt - - name: Run E2E test - if: "${{ ( ( inputs.tests == 'default' || inputs.tests == 'e2e' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit e2e test') ) && ( success() || failure() ) }}" - id: run-e2e-test - run: ./vendor/bin/qit run:woo-e2e ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > e2e-result.txt + - name: Run security test + if: "${{ ( ( inputs.tests == 'default' || inputs.tests == 'security' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit security test') ) && ( success() || failure() ) }}" + id: run-security-test + run: ./vendor/bin/qit run:security ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > security-result.txt - uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1 - if: ${{ failure() && steps.run-e2e-test.conclusion == 'failure' }} + if: ${{ failure() && steps.run-security-test.conclusion == 'failure' }} with: - header: QIT E2E result + header: QIT security result recreate: true - path: e2e-result.txt + path: security-result.txt - - name: Run PHPStan test - if: "${{ inputs.tests == 'phpstan' || contains(github.event.pull_request.labels.*.name, 'needs: qit phpstan test') && ( success() || failure() ) }}" - id: run-phpstan-test - run: ./vendor/bin/qit run:phpstan ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > phpstan-result.txt + - name: Run malware test + if: "${{ ( ( inputs.tests == 'default' || inputs.tests == 'malware' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit malware test') ) && ( success() || failure() ) }}" + id: run-malware-test + run: ./vendor/bin/qit run:malware ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > malware-result.txt - uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1 - if: ${{ failure() && steps.run-phpstan-test.conclusion == 'failure' }} + if: ${{ failure() && steps.run-malware-test.conclusion == 'failure' }} with: - header: QIT PHPStan result + header: QIT malware result recreate: true - path: phpstan-result.txt + path: malware-result.txt - name: Run PHPCompat test - if: "${{ inputs.tests == 'phpcompat' || contains(github.event.pull_request.labels.*.name, 'needs: qit phpcompat test') && ( success() || failure() ) }}" + if: "${{ ( ( inputs.tests == 'default' || inputs.tests == 'phpcompat' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit phpcompat test') ) && ( success() || failure() ) }}" id: run-phpcompat-test run: ./vendor/bin/qit run:phpcompatibility ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > phpcompat-result.txt @@ -126,26 +127,38 @@ jobs: recreate: true path: phpcompat-result.txt - - name: Run security test - if: "${{ inputs.tests == 'security' || contains(github.event.pull_request.labels.*.name, 'needs: qit security test') && ( success() || failure() ) }}" - id: run-security-test - run: ./vendor/bin/qit run:security ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > security-result.txt + - name: Run validation test + if: "${{ ( ( inputs.tests == 'default' || inputs.tests == 'validation' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit validation test') ) && ( success() || failure() ) }}" + id: run-validation-test + run: ./vendor/bin/qit run:validation ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > validation-result.txt - uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1 - if: ${{ failure() && steps.run-security-test.conclusion == 'failure' }} + if: ${{ failure() && steps.run-validation-test.conclusion == 'failure' }} with: - header: QIT security result + header: QIT validation result recreate: true - path: security-result.txt + path: validation-result.txt - - name: Run malware test - if: "${{ inputs.tests == 'malware' || contains(github.event.pull_request.labels.*.name, 'needs: qit malware test') && ( success() || failure() ) }}" - id: run-malware-test - run: ./vendor/bin/qit run:malware ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > malware-result.txt + - name: Run E2E test + if: "${{ ( ( inputs.tests == 'default' || inputs.tests == 'e2e' ) || contains(github.event.pull_request.labels.*.name, 'needs: qit default tests') || contains(github.event.pull_request.labels.*.name, 'needs: qit e2e test') ) && ( success() || failure() ) }}" + id: run-e2e-test + run: ./vendor/bin/qit run:woo-e2e ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --extension_set=compatibility --wait > e2e-result.txt - uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1 - if: ${{ failure() && steps.run-malware-test.conclusion == 'failure' }} + if: ${{ failure() && steps.run-e2e-test.conclusion == 'failure' }} with: - header: QIT malware result + header: QIT E2E result recreate: true - path: malware-result.txt + path: e2e-result.txt + + - name: Run PHPStan test + if: "${{ inputs.tests == 'phpstan' || contains(github.event.pull_request.labels.*.name, 'needs: qit phpstan test') && ( success() || failure() ) }}" + id: run-phpstan-test + run: ./vendor/bin/qit run:phpstan ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > phpstan-result.txt + + - uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1 + if: ${{ failure() && steps.run-phpstan-test.conclusion == 'failure' }} + with: + header: QIT PHPStan result + recreate: true + path: phpstan-result.txt