name: Linux on: push: branches: - master - beta - stable tags-ignore: - "**" paths-ignore: - "**.md" pull_request: paths-ignore: - "**.md" jobs: golang: name: Build (Go ${{ matrix.go }}, PHP ${{ matrix.php }}, OS ${{matrix.os}}) runs-on: ${{ matrix.os }} timeout-minutes: 60 strategy: fail-fast: true matrix: php: ["7.4", "8.0", "8.1"] go: ["1.17.2"] os: ["ubuntu-latest"] steps: - name: Set up Go ${{ matrix.go }} uses: actions/setup-go@v2 # action page: with: go-version: ${{ matrix.go }} - name: Set up PHP ${{ matrix.php }} uses: shivammathur/setup-php@v2 # action page: with: php-version: ${{ matrix.php }} extensions: sockets - name: Check out code uses: actions/checkout@v2 - name: Get Composer Cache Directory id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Init Composer Cache # Docs: uses: actions/cache@v2 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies run: cd tests && composer update --prefer-dist --no-progress --ansi - name: Init Go modules Cache # Docs: uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: ${{ runner.os }}-go- - name: Install Go dependencies run: go mod download - name: Run golang tests with coverage run: make test_coverage - uses: codecov/codecov-action@v2 # Docs: with: file: ./coverage-ci/summary.txt fail_ci_if_error: false