Skip to content

Bump some versions and add dependencies #1036

Bump some versions and add dependencies

Bump some versions and add dependencies #1036

Workflow file for this run

name: Test
on: pull_request
permissions:
contents: read
jobs:
bower:
runs-on: ubuntu-latest
needs: core
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 18
- name: Install Bower
run: npm install -g bower
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/bower
- name: Run tests
run: script/test bower
bundler:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
bundler: ["2.4", "2.5", "2.6", "4.0"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler: ${{ matrix.bundler }}
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/bundler
- name: Run tests
run: script/test bundler
cabal:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
ghc: ["9.0", "9.2", "9.4"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Setup Haskell
uses: haskell-actions/setup@f9150cb1d140e9a9271700670baa38991e6fa25c # v2.10.3
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- name: cache cabal dependencies
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
with:
path: |
~/.cabal/packages
~/.cabal/store
key: ${{ runner.os }}-cabal-${{ matrix.ghc }}-${{ hashFiles('**/app.cabal') }}
restore-keys: |
${{ runner.os }}-cabal-
- name: Set up fixtures
run: script/source-setup/cabal
- name: Run tests
run: script/test cabal
cargo:
runs-on: ubuntu-latest
needs: core
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Setup Rust toolchain
run: rustup default stable
- name: cache cargo dependencies
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
with:
path: |
~/.cargo/registry
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Set up fixtures
run: script/source-setup/cargo
- name: Run tests
run: script/test cargo
cocoapods:
runs-on: ubuntu-latest
needs: core
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/cocoapods
- name: Run tests
run: script/test cocoapods
composer:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
php: ["7.4", "8.0"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup php
uses: nanasess/setup-php@7a25214b64e1e1ad30e35e86a8a11e5078f453e5 # v4.3.0
with:
php-version: ${{ matrix.php }}
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/composer
- name: Run tests
run: script/test composer
core:
runs-on: ubuntu-latest
strategy:
matrix:
ruby: ["3.2", "3.3", "3.4", "4.0"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
ruby-version: ${{matrix.ruby}}
bundler-cache: true
- name: Build and lint
run: bundle exec rake rubocop build
- name: Core functionality tests
run: script/test core
dep:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
go: ["1.17.x", "1.18.x", "1.19.x"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup go
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
with:
go-version: ${{ matrix.go }}
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up go dep
run: curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
- name: Set up fixtures
run: script/source-setup/dep
- name: Run tests
run: script/test dep
go:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
go: ["1.17.x", "1.18.x", "1.19.x"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup go
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
with:
go-version: ${{ matrix.go }}
cache: true
cache-dependency-path: test/fixtures/go/src/test/go.sum
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/go
- name: Run tests
run: script/test go
# TODO: restore gradle tests when possible to get them passing.
# gradle:
# runs-on: ubuntu-latest
# needs: core
# strategy:
# matrix:
# # TODO: the reporting plugin used to gather data is not yet fully compatible with
# # gradle 7, which is needed for compatibility with Java 16. after compatibility issues
# # are resolved, update this matrix list with '16'.
# # possibly fixed by https://github.com/jk1/Gradle-License-Report/pull/166
# java: [ '17' ]
# gradle: ['current', '7.6', '6.9.3']
# steps:
# - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# - name: Set up Ruby
# uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
# with:
# bundler-cache: true
# - name: Set up Java
# uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
# with:
# java-version: ${{ matrix.java }}
# distribution: adopt
# cache: gradle
# - name: Setup Gradle
# uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
# with:
# gradle-version: ${{ matrix.gradle }}
# - name: Bootstrap
# run: script/bootstrap
# - name: Run tests
# run: script/test gradle
manifest:
runs-on: ubuntu-latest
needs: core
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Run tests
run: script/test manifest
mix:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
otp: [24.x, 25.x]
elixir: [1.13.x, 1.14.x]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: erlef/setup-beam@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
with:
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/mix
- name: Run tests
run: script/test mix
npm:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
node_version: [14, 16, 18]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node_version }}
cache: npm
cache-dependency-path: test/fixtures/npm/package-lock.json
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/npm
- name: Run tests
run: script/test npm
nuget:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
dotnet: ["8.x", "10.x"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup dotnet
uses: actions/setup-dotnet@baa11fbfe1d6520db94683bd5c7a3818018e4309 # v5.1.0
with:
dotnet-version: ${{ matrix.dotnet }}
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/nuget
- name: Run tests
run: script/test nuget
pip:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
python: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python }}
architecture: x64
cache: pip
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Install virtualenv
run: pip install virtualenv
- name: Set up fixtures
run: script/source-setup/pip
- name: Run tests
run: script/test pip
pipenv:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
# TODO: re-add 3.x when possible to get it passing.
# python: ["3.8", "3.10", "3.x"]
python: ["3.8", "3.10"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python }}
architecture: x64
cache: pipenv
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Install pipenv
run: pip install pipenv
- name: Set up fixtures
run: script/source-setup/pipenv
- name: Run tests
run: script/test pipenv
pnpm:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
pnpm_version: [7, 9]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
name: Install pnpm
id: pnpm-install
with:
version: ${{ matrix.pnpm_version }}
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/pnpm
- name: Run tests
run: script/test pnpm
# TODO: restore swift tests when possible to get them passing.
# swift:
# runs-on: ubuntu-latest
# needs: core
# strategy:
# matrix:
# swift: [ "5.7", "5.6" ]
# steps:
# - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# - name: Setup Swift
# uses: swift-actions/setup-swift@682457186b71c25a884c45c06f859febbe259240 # v2.3.0
# with:
# swift-version: ${{ matrix.swift }}
# - name: Set up Ruby
# uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
# with:
# bundler-cache: true
# - uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
# name: cache spm dependencies
# with:
# path: .build
# key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
# restore-keys: |
# ${{ runner.os }}-spm-
# - name: Set up fixtures
# run: script/source-setup/swift
# - name: Run tests
# run: script/test swift
yarn-v1:
runs-on: ubuntu-latest
needs: core
strategy:
matrix:
# not using 1.0.0 because it doesn't support `yarn list --production`
yarn_version: [1.4.0, latest]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 12
cache: yarn
cache-dependency-path: test/fixtures/yarn/v1/yarn.lock
- name: Install Yarn
run: npm install -g yarn@${YARN_VERSION}
env:
YARN_VERSION: ${{ matrix.yarn_version }}
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/yarn/v1
- name: Run tests
run: script/test yarn/v1
yarn-berry:
runs-on: ubuntu-latest
needs: core
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup node
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 12
cache: yarn
cache-dependency-path: test/fixtures/yarn/berry/yarn.lock
- name: Install Yarn
run: npm install -g yarn
- name: Set up Ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
bundler-cache: true
- name: Set up fixtures
run: script/source-setup/yarn/berry
- name: Run tests
run: script/test yarn/berry