shivammathur / setup-php

GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.
https://setup-php.com
MIT License
2.91k stars 340 forks source link

Expected response status code [200] but received 302. #755

Closed Timtendo12 closed 1 year ago

Timtendo12 commented 1 year ago

Describe the bug

Version

Runners

Operating systems Ubunut-latest

PHP versions 8.1

To Reproduce Run the laravel.yml workflow file

Expected behavior I expect the workflow to succeed

Screenshots/Logs

0s
0s
0s
Run vendor/bin/phpunit
  vendor/bin/phpunit
  shell: /usr/bin/bash -e {0}
  env:
    COMPOSER_PROCESS_TIMEOUT: 0
    COMPOSER_NO_INTERACTION: [1](https://github.com/MoonBow-Development-Studios/Master/actions/runs/5706603838/job/15462467838#step:10:1)
    COMPOSER_NO_AUDIT: 1
    DB_CONNECTION: sqlite
    DB_DATABASE: database/database.sqlite
PHPUnit 10.[2](https://github.com/MoonBow-Development-Studios/Master/actions/runs/5706603838/job/15462467838#step:10:2).6 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.1.21
Configuration: /home/runner/work/Master/Master/phpunit.xml

.F                                                                  2 / 2 (100%)

Time: 00:00.118, Memory: 26.00 MB

There was 1 failure:

1) Tests\Feature\ExampleTest::test_the_application_returns_a_successful_response
Expected response status code [200] but received [3](https://github.com/MoonBow-Development-Studios/Master/actions/runs/5706603838/job/15462467838#step:10:3)02.
Failed asserting that 200 is identical to 302.

/home/runner/work/Master/Master/vendor/laravel/framework/src/Illuminate/Testing/TestResponse.php:123
/home/runner/work/Master/Master/tests/Feature/ExampleTest.php:17
/home/runner/work/Master/Master/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:17[4](https://github.com/MoonBow-Development-Studios/Master/actions/runs/5706603838/job/15462467838#step:10:4)

FAILURES!
Tests: 2, Assertions: 2, Failures: 1.
Error: Process completed with exit code 1.

Additional context I added a step that runs composer upgrade before the install otherwise the composer install would fail

Are you willing to submit a PR? Most likely not since I don't really have that much experience with workflows

Timtendo12 commented 1 year ago

My workflow file:

name: Laravel

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  laravel-tests:

    runs-on: ubuntu-latest

    steps:
    - uses: shivammathur/setup-php@v2
      with:
        php-version: '8.1'
    - uses: actions/checkout@v3
    - name: Copy .env
      run: php -r "file_exists('.env') || copy('.env.example', '.env');"
    - name: Composer update
      run: composer update
    - name: Install Dependencies
      run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
    - name: Generate key
      run: php artisan key:generate
    - name: Directory Permissions
      run: chmod -R 777 storage bootstrap/cache
    - name: Create Database
      run: |
        mkdir -p database
        touch database/database.sqlite
    - name: Execute tests (Unit and Feature tests) via PHPUnit
      env:
        DB_CONNECTION: sqlite
        DB_DATABASE: database/database.sqlite
      run: vendor/bin/phpunit
shivammathur commented 1 year ago

I cannot reproduce the issue in the workflow, it works correctly with a new Laravel installation. https://github.com/shivammathur/test-setup-php/actions/runs/5843553190/workflow

You don't need to add the composer update command to the workflow, run it locally and commit a updated composer.lock file.