chore(deps-dev): bump @types/lodash from 4.17.0 to 4.17.24 #1956
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: Test | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| jobs: | |
| build: | |
| name: Build and unit tests (Node ${{ matrix.node-version }}) | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: ["20", "22", "24"] | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: ./.github/workflows/setup | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Check formatting (Biome) | |
| if: ${{ matrix.node-version == '24' }} | |
| run: npm run lint | |
| - run: npm run test:unit | |
| - run: node dist/index.js --version | |
| - name: Run representative fixtures on the minimum Node version | |
| if: ${{ matrix.node-version == '20' }} | |
| run: CPUs=2 QUICKTEST=true FIXTURE=javascript,typescript npm run test:fixtures -- test/inputs/json/samples/pokedex.json | |
| test: | |
| needs: [build] | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| fixture: | |
| - typescript,typescript-zod,schema-typescript-zod,typescript-effect-schema | |
| - javascript,schema-javascript | |
| - golang,schema-golang | |
| - cjson,schema-cjson | |
| - cjson-default,cjson-multi-header,cjson-multi-split | |
| - cplusplus,schema-cplusplus | |
| - flow,schema-flow | |
| - java,schema-java | |
| - python,schema-python | |
| - haskell,schema-haskell | |
| - csharp,schema-csharp,csharp-records,schema-csharp-records,schema-json-csharp,graphql-csharp,csharp-SystemTextJson,schema-csharp-SystemTextJson | |
| - json-ts-csharp | |
| - dart,schema-dart | |
| # - swift,schema-swift # pgp issue | |
| - javascript-prop-types | |
| - ruby | |
| - php,schema-php | |
| - scala3,schema-scala3 | |
| - scala3-upickle,schema-scala3-upickle | |
| - elixir,schema-elixir,graphql-elixir | |
| - elm,schema-elm | |
| - comment-injection-treesitter,comment-injection-typescript,comment-injection-typescript-zod,comment-injection-typescript-effect-schema | |
| # Partially working | |
| # - schema-typescript # TODO Unify with typescript once fixed | |
| # Language is too niche / obscure to test easily on ubuntu-22.04 | |
| # - pike,schema-pike | |
| # Not yet started | |
| # @schani can you help me understand this fixture? | |
| # It looks like it tests 13+ languages? | |
| # - graphql | |
| # Never tested? | |
| # - crystal | |
| runs-on: [ubuntu-22.04] | |
| include: | |
| # Rust is very slow, so we use a larger runner | |
| - fixture: rust,schema-rust | |
| runs-on: ubuntu-latest-16-cores | |
| # Kotlin is also slow | |
| - fixture: kotlin,schema-kotlin,kotlin-jackson,schema-kotlin-jackson | |
| runs-on: ubuntu-latest-16-cores | |
| - fixture: kotlinx,schema-kotlinx | |
| runs-on: ubuntu-latest-16-cores | |
| # - fixture: objective-c # segfault on compiled test cmd | |
| # runs-on: macos-latest | |
| # comment-injection-objective-c also hits that runtime | |
| # segfault (the generated .m compiles but ./test crashes | |
| # with SIGSEGV), so it stays out of CI too. | |
| name: ${{ matrix.fixture }} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: ./.github/workflows/setup | |
| - name: Setup PHP | |
| if: ${{ contains(matrix.fixture, 'php') }} | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: "8.2" | |
| - name: Setup Dart | |
| if: ${{ contains(matrix.fixture, 'dart') }} | |
| uses: dart-lang/setup-dart@v1.3 | |
| with: | |
| sdk: 2.14.4 | |
| - name: Setup Swift | |
| if: ${{ contains(matrix.fixture, 'swift') }} | |
| uses: swift-actions/setup-swift@v1 | |
| with: | |
| swift-version: "5.7.2" | |
| - name: Install Ruby | |
| uses: ruby/setup-ruby@v1 | |
| if: ${{ contains(matrix.fixture, 'ruby') }} | |
| with: | |
| ruby-version: "3.2.0" | |
| - name: Setup .NET Core SDK | |
| if: ${{ contains(matrix.fixture, 'csharp') }} | |
| uses: actions/setup-dotnet@v3 | |
| with: | |
| dotnet-version: 8 | |
| - name: Install Rust | |
| if: ${{ contains(matrix.fixture, 'rust') }} | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| - name: Install Elm | |
| if: ${{ contains(matrix.fixture, 'elm') }} | |
| run: | | |
| curl -L -o elm.gz https://github.com/elm/compiler/releases/download/0.19.2/elm-0.19.2-linux-x64.gz | |
| gunzip elm.gz | |
| chmod +x elm | |
| sudo mv elm /usr/local/bin/ | |
| - name: Install Haskell | |
| if: ${{ contains(matrix.fixture, 'haskell') }} | |
| run: | | |
| if ! command -v stack > /dev/null 2>&1; then | |
| curl -sL "https://get.haskellstack.org/" | sh | |
| fi | |
| - name: Install Python 3.12 | |
| if: ${{ contains(matrix.fixture, 'python') }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.12" | |
| - name: Install Python Dependencies | |
| if: ${{ contains(matrix.fixture, 'python') }} | |
| run: | | |
| pip3.12 install mypy python-dateutil types-python-dateutil | |
| - name: Install flow | |
| if: ${{ contains(matrix.fixture, 'flow') }} | |
| run: | | |
| npm install -g flow-bin@0.66.0 flow-remove-types@1.2.3 | |
| - name: Install Java | |
| if: ${{ matrix.fixture == 'java,schema-java' || contains(matrix.fixture, 'kotlin') }} | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: "11" | |
| distribution: "adopt" | |
| - name: Install Maven | |
| if: ${{ matrix.fixture == 'java,schema-java' }} | |
| uses: stCarolas/setup-maven@v4.5 | |
| with: | |
| maven-version: 3.8.2 | |
| - name: Install Kotlin | |
| if: ${{ contains(matrix.fixture, 'kotlin') }} | |
| uses: fwilhe2/setup-kotlin@main | |
| - name: Install go | |
| if: ${{ contains(matrix.fixture, 'golang') }} | |
| uses: actions/setup-go@v3 | |
| with: | |
| go-version: 1.15 | |
| - name: Install C | |
| if: ${{ contains(matrix.fixture, 'cjson') }} | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install build-essential valgrind | |
| - name: Install C++ | |
| if: ${{ contains(matrix.fixture, 'cplusplus') }} | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install libboost-all-dev software-properties-common g++ --assume-yes | |
| - name: Install scala | |
| if: ${{ contains(matrix.fixture, 'scala3') }} | |
| uses: VirtusLab/scala-cli-setup@v1.15.0 | |
| - run: echo '@main def hello() = println("Warm up the Scala compilation server")' | SCALA_CLI_EXTRA_TIMEOUT=2min scala-cli _ | |
| if: ${{ contains(matrix.fixture, 'scala3') }} | |
| - name: Install Elixir | |
| if: ${{ contains(matrix.fixture, 'elixir') }} | |
| uses: erlef/setup-beam@v1 | |
| with: | |
| elixir-version: "1.15.7" | |
| otp-version: "26.0" | |
| - run: QUICKTEST=true FIXTURE=${{ matrix.fixture }} npm run test:fixtures | |
| env: | |
| CPUs: ${{ contains(matrix.fixture, 'scala3') && '2' || '0' }} | |
| test-complete: | |
| if: ${{ cancelled() || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }} | |
| needs: test | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - run: | | |
| echo "Some workflows have failed!" | |
| exit 1 |