diff --git a/.github/workflows/qit.yml b/.github/workflows/qit.yml index 43c4377..7824056 100644 --- a/.github/workflows/qit.yml +++ b/.github/workflows/qit.yml @@ -14,7 +14,9 @@ on: - api - e2e - phpstan + - phpcompat - security + - malware pull_request: types: [opened, synchronize, reopened, labeled] branches: @@ -26,11 +28,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 security 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') }}" uses: gocardless/woocommerce-gateway-gocardless/.github/workflows/generate-zip.yml@develop 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 security 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') }}" needs: build name: run runs-on: ubuntu-latest @@ -79,7 +81,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: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 --wait > api-result.txt - uses: marocchino/sticky-pull-request-comment@v2 if: ${{ failure() && steps.run-api-test.conclusion == 'failure' }} @@ -91,7 +93,7 @@ jobs: - 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:e2e ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > e2e-result.txt + run: ./vendor/bin/qit run:woo-e2e ${{ github.event.repository.name }} --zip=${{ github.event.repository.name }}.zip --wait > e2e-result.txt - uses: marocchino/sticky-pull-request-comment@v2 if: ${{ failure() && steps.run-e2e-test.conclusion == 'failure' }} @@ -112,6 +114,18 @@ jobs: recreate: true path: phpstan-result.txt + - name: Run PHPCompat test + if: "${{ inputs.tests == 'phpcompat' || 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 + + - uses: marocchino/sticky-pull-request-comment@v2 + if: ${{ failure() && steps.run-phpcompat-test.conclusion == 'failure' }} + with: + header: QIT PHPCompat result + 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 @@ -123,3 +137,15 @@ jobs: header: QIT security result recreate: true path: security-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 + + - uses: marocchino/sticky-pull-request-comment@v2 + if: ${{ failure() && steps.run-malware-test.conclusion == 'failure' }} + with: + header: QIT malware result + recreate: true + path: malware-result.txt diff --git a/.wordpress-version-checker.json b/.wordpress-version-checker.json new file mode 100644 index 0000000..9aa58aa --- /dev/null +++ b/.wordpress-version-checker.json @@ -0,0 +1,4 @@ +{ + "readme": "readme.txt", + "channel": "rc" +} diff --git a/README.md b/README.md index 1354024..7d69a3f 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,8 @@ Properly connected GoCardless configuration: ### Requirements - PHP: 7.4+ -- WordPress: 6.3+ -- WooCommerce: 8.7+ +- WordPress: 6.5+ +- WooCommerce: 9.4+ - Node: v20 - NPM: v10