chore: Add PR's requested changes #1945
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: Unit Tests On Push | |
| on: | |
| push: | |
| jobs: | |
| unit-tests: | |
| runs-on: ubuntu-latest | |
| env: | |
| OTEL_SERVICE_ENABLED: false | |
| APP_ENV: testing | |
| APP_DEBUG: true | |
| APP_KEY: "base64:4vh0op/S1dAsXKQ2bbdCfWRyCI9r8NNIdPXyZWt9PX4=" | |
| DEV_EMAIL_TO: smarcet@gmail.com | |
| APP_URL: http://localhost | |
| DB_CONNECTION: model | |
| DB_HOST: 127.0.0.1 | |
| DB_PORT: 3306 | |
| DB_DATABASE: api_config | |
| DB_USERNAME: root | |
| DB_PASSWORD: 1qaz2wsx | |
| SS_DB_HOST: 127.0.0.1 | |
| SS_DB_PORT: 3310 | |
| SS_DATABASE: api_model | |
| SS_DB_USERNAME: root | |
| SS_DB_PASSWORD: 1qaz2wsx | |
| REDIS_HOST: 127.0.0.1 | |
| REDIS_PORT: 6379 | |
| REDIS_DB: 0 | |
| REDIS_PASSWORD: 1qaz2wsx | |
| REDIS_DATABASES: 16 | |
| SSL_ENABLED: false | |
| SESSION_DRIVER: redis | |
| PHP_VERSION: "8.3" | |
| CACHE_DRIVER: redis | |
| SESSION_COOKIE_DOMAIN: localhost | |
| SESSION_COOKIE_SECURE: false | |
| QUEUE_DRIVER: redis | |
| REGISTRATION_DEFAULT_PAYMENT_PROVIDER: Stripe | |
| REGISTRATION_DEFAULT_STRIPE_TEST_MODE: true | |
| REGISTRATION_DEFAULT_LIVE_STRIPE_PRIVATE_KEY: | |
| REGISTRATION_DEFAULT_LIVE_STRIPE_PUBLISHABLE_KEY: | |
| REGISTRATION_DEFAULT_LIVE_WEBHOOK_SECRET: | |
| REGISTRATION_DEFAULT_TEST_STRIPE_PRIVATE_KEY: sk_test_12345 | |
| REGISTRATION_DEFAULT_TEST_STRIPE_PUBLISHABLE_KEY: pk_12345 | |
| REGISTRATION_DEFAULT_TEST_WEBHOOK_SECRET: whsec_12345 | |
| BOOKABLE_ROOMS_DEFAULT_PAYMENT_PROVIDER: Stripe | |
| BOOKABLE_ROOMS_DEFAULT_STRIPE_TEST_MODE: true | |
| BOOKABLE_ROOMS_DEFAULT_LIVE_STRIPE_PRIVATE_KEY: | |
| BOOKABLE_ROOMS_DEFAULT_LIVE_STRIPE_PUBLISHABLE_KEY: | |
| BOOKABLE_ROOMS_DEFAULT_LIVE_WEBHOOK_SECRET: | |
| BOOKABLE_ROOMS_DEFAULT_TEST_STRIPE_PRIVATE_KEY: sk_test_12345 | |
| BOOKABLE_ROOMS_DEFAULT_TEST_STRIPE_PUBLISHABLE_KEY: pk_12345 | |
| BOOKABLE_ROOMS_DEFAULT_TEST_WEBHOOK_SECRET: whsec_12345 | |
| REGISTRATION_VALIDATE_TICKET_TYPE_REMOVAL: false | |
| MEMCACHED_SERVER_HOST: 127.0.0.1 | |
| MEMCACHED_SERVER_PORT: 11211 | |
| services: | |
| mysql_api_model: | |
| image: mysql:8.0 | |
| env: | |
| MYSQL_ROOT_PASSWORD: ${{ env.SS_DB_PASSWORD }} | |
| MYSQL_DATABASE: ${{ env.SS_DATABASE }} | |
| ports: | |
| - 3310:3306 | |
| options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=10 --name=mysql_api_model | |
| mysql_api_config: | |
| image: mysql:8.0 | |
| env: | |
| MYSQL_ROOT_PASSWORD: ${{ env.DB_PASSWORD }} | |
| MYSQL_DATABASE: ${{ env.DB_DATABASE }} | |
| ports: | |
| - 3306:3306 | |
| options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=10 | |
| steps: | |
| - name: Start Memcached (with larger item size) | |
| run: | | |
| docker run -d --name ci-memcached -p 11211:11211 memcached:1.6-alpine \ | |
| memcached -m 256 -I 5m -c 4096 -t 2 | |
| # wait until ready | |
| for i in {1..20}; do | |
| printf "version\r\nquit\r\n" | nc 127.0.0.1 11211 >/dev/null 2>&1 && break | |
| sleep 0.5 | |
| done | |
| - name: Create Redis | |
| uses: supercharge/redis-github-action@1.7.0 | |
| with: | |
| redis-port: ${{ env.REDIS_PORT }} | |
| redis-password: ${{ env.REDIS_PASSWORD }} | |
| - name: Check out repository code | |
| uses: actions/checkout@v4 | |
| - name: Change MYSQL sql_mode | |
| run: > | |
| docker exec mysql_api_model mysql -u root --password=${{ env.SS_DB_PASSWORD }} -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';" | |
| - name: Install PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ env.PHP_VERSION }} | |
| extensions: pdo_mysql, mbstring, exif, pcntl, bcmath, sockets, gettext, apcu, redis, igbinary, memcached | |
| - name: Install dependencies | |
| uses: ramsey/composer-install@v3 | |
| env: | |
| COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.COMPOSER_AUTH_TOKEN }}"} }' | |
| - name: Run Tests | |
| run: | | |
| ./update_doctrine.sh | |
| php artisan db:create_test_db --schema=config | |
| php artisan db:create_test_db --schema=model | |
| php artisan doctrine:migrations:migrate --no-interaction --em=model_write | |
| echo "running OAuth2SummitApiTest" | |
| vendor/bin/phpunit --filter "OAuth2SummitApiTest" --log-junit results_summit_api_test.xml | |
| echo "running OAuth2SummitEventsApiTest" | |
| vendor/bin/phpunit --filter "OAuth2SummitEventsApiTest" --log-junit results_events_api_test.xml | |
| echo "running OAuth2PresentationSubmissionTest" | |
| vendor/bin/phpunit --filter "OAuth2PresentationSubmissionTest" --log-junit results_presentation_submissions_api_test.xml | |
| echo "running OAuth2EventTypesApiTest" | |
| vendor/bin/phpunit --filter "OAuth2EventTypesApiTest" --log-junit results_event_types_api_test.xml | |
| echo "running model unit tests" | |
| vendor/bin/phpunit tests/Unit/Entities/ --log-junit results_model_unit_tests.xml | |
| echo "running OAuth2SummitBadgeScanApiControllerTest" | |
| vendor/bin/phpunit --filter "OAuth2SummitBadgeScanApiControllerTest" --log-junit results_badge_scan_api_test.xml | |
| echo "running SummitOrderService tests" | |
| vendor/bin/phpunit --filter "SummitOrderServiceTest" --log-junit results_summitorder_service_unit_tests.xml | |
| echo "running SummitRSVPServiceTest tests" | |
| vendor/bin/phpunit --filter "SummitRSVPServiceTest" --log-junit results_rsvp_service_unit_tests.xml | |
| echo "running SummitRSVPInvitationServiceTest tests" | |
| vendor/bin/phpunit --filter "SummitRSVPInvitationServiceTest" --log-junit results_rsvp_invitation_service_unit_tests.xml | |
| echo "running OAuth2RSVPApiTest tests" | |
| vendor/bin/phpunit --filter "OAuth2RSVPApiTest" --log-junit results_rsvp_api_test_unit_tests.xml | |
| echo "running OAuth2RSVPApiWithMocksTest tests" | |
| vendor/bin/phpunit --filter "OAuth2RSVPApiWithMocksTest" --log-junit results_rsvp_api_with_mocks_test_unit_tests.xml | |
| echo "running OAuth2RSVPInvitationApiTest tests" | |
| vendor/bin/phpunit --filter "OAuth2RSVPInvitationApiTest" --log-junit results_rsvp_invitations_api_test_unit_tests.xml | |
| - name: Upload Unit Test Output For OAuth2SummitApiTest | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: results_summit_api_test | |
| path: results_summit_api_test.xml | |
| retention-days: 5 | |
| - name: Upload Unit Test Output For OAuth2SummitEventsApiTest | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: results_events_api_test | |
| path: results_events_api_test.xml | |
| retention-days: 5 | |
| - name: Upload Unit Test Output For OAuth2PresentationSubmissionTest | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: results_presentation_submissions_api_test | |
| path: results_presentation_submissions_api_test.xml | |
| retention-days: 5 | |
| - name: Upload Entity Model Unit Tests Output | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: results_model_unit_tests | |
| path: results_model_unit_tests.xml | |
| retention-days: 5 | |
| - name: Upload Unit Test Output For OAuth2SummitBadgeScanApiControllerTest | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: results_badge_scan_api_test | |
| path: results_badge_scan_api_test.xml | |
| retention-days: 5 | |
| - name: Upload Unit Test Output For SummitOrderServiceTest | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: results_summitorder_service_unit_tests | |
| path: results_summitorder_service_unit_tests.xml | |
| retention-days: 5 |