github.com/MerlinKodo/quic-go@v0.39.2/.github/workflows/integration.yml (about)

     1  on: [push, pull_request]
     2  
     3  jobs:
     4    integration:
     5      strategy:
     6        fail-fast: false
     7        matrix:
     8          os: [ "ubuntu" ]
     9          go: [ "1.20.x", "1.21.x" ]
    10          include:
    11            - os: "windows"
    12              go: "1.21.x"
    13            - os: "macos"
    14              go: "1.21.x"
    15      runs-on: ${{ fromJSON(vars[format('INTEGRATION_RUNNER_{0}', matrix.os)] || format('"{0}-latest"', matrix.os)) }}
    16      env:
    17        DEBUG: false # set this to true to export qlogs and save them as artifacts
    18        TIMESCALE_FACTOR: 3
    19      name: Integration Tests (${{ matrix.os }}, Go ${{ matrix.go }})
    20      steps:
    21        - uses: actions/checkout@v4
    22        - uses: actions/setup-go@v4
    23          with:
    24            go-version: ${{ matrix.go }}
    25        - run: go version
    26        - name: set qlogger
    27          if: env.DEBUG == 'true'
    28          run: echo "QLOGFLAG= -qlog" >> $GITHUB_ENV
    29        - name: Run other tests
    30          run: |
    31            go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace -skip-package self,versionnegotiation integrationtests
    32            go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace integrationtests/versionnegotiation -- ${{ env.QLOGFLAG }}
    33        - name: Run self tests, using QUIC v1
    34          if: success() || failure() # run this step even if the previous one failed
    35          run: go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace integrationtests/self -- -version=1 ${{ env.QLOGFLAG }}
    36        - name: Run self tests, using QUIC v2
    37          if: success() || failure() # run this step even if the previous one failed
    38          run: go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace integrationtests/self -- -version=2 ${{ env.QLOGFLAG }}
    39        - name: Run self tests, with GSO disabled
    40          if: ${{ matrix.os == 'ubuntu' && (success() || failure()) }} # run this step even if the previous one failed
    41          env:
    42            QUIC_GO_DISABLE_GSO: true
    43          run: go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace integrationtests/self -- -version=1 ${{ env.QLOGFLAG }}
    44        - name: Run self tests, with ECN disabled
    45          if: ${{ matrix.os == 'ubuntu' && (success() || failure()) }} # run this step even if the previous one failed
    46          env:
    47            QUIC_GO_DISABLE_ECN: true
    48          run: go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace integrationtests/self -- -version=1 ${{ env.QLOGFLAG }}
    49        - name: Run tests (32 bit)
    50          if: ${{ matrix.os != 'macos' && (success() || failure()) }} # run this step even if the previous one failed
    51          env:
    52            GOARCH: 386
    53          run: |
    54            go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace -skip-package self,versionnegotiation integrationtests
    55            go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace integrationtests/versionnegotiation -- ${{ env.QLOGFLAG }}
    56            go run github.com/onsi/ginkgo/v2/ginkgo -r -v -randomize-all -randomize-suites -trace integrationtests/self -- ${{ env.QLOGFLAG }}
    57        - name: save qlogs
    58          if: ${{ always() && env.DEBUG == 'true' }}
    59          uses: actions/upload-artifact@v2
    60          with:
    61            name: qlogs
    62            path: integrationtests/self/*.qlog