Pin action versions in test.yml #817
Workflow file for this run
This file contains 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: pull_request | |
permissions: | |
contents: read | |
jobs: | |
bower: | |
runs-on: ubuntu-latest | |
needs: core | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install Bower | |
run: npm install -g bower | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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.1', '2.2', '2.3', '2.4' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
with: | |
bundler-cache: true | |
- name: Setup Haskell | |
uses: haskell-actions/setup@dd344bc1cec854a369df8814ce17ef337d6e6170 | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
cabal-version: ${{ matrix.cabal }} | |
- name: cache cabal dependencies | |
uses: actions/cache@v4 | |
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@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
with: | |
bundler-cache: true | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@b2417cde72dcf67f306c0ae8e0828a81bf0b189f | |
with: | |
toolchain: stable | |
- name: cache cargo dependencies | |
uses: actions/cache@v4 | |
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@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- name: Setup php | |
uses: nanasess/setup-php@50c1c73e8ab7258f64ab525b05fcac481c0762db | |
with: | |
php-version: ${{ matrix.php }} | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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.0', '3.1', '3.2' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- name: Setup go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- name: Setup go | |
uses: actions/setup-go@v5 | |
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@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
with: | |
bundler-cache: true | |
- name: Set up fixtures | |
run: script/source-setup/go | |
- name: Run tests | |
run: script/test go | |
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: [ '11' ] | |
gradle: ['current', '7.6', '6.9.3'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
with: | |
bundler-cache: true | |
- name: Set up Java | |
uses: actions/[email protected] | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: adopt | |
cache: gradle | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 | |
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@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- uses: erlef/setup-beam@5304e04ea2b355f03681464e683d92e3b2f18451 | |
with: | |
otp-version: ${{matrix.otp}} | |
elixir-version: ${{matrix.elixir}} | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
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@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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: [ '3.1.x', '5.x' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup dotnet | |
uses: actions/[email protected] | |
with: | |
dotnet-version: ${{ matrix.dotnet }} | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
cache: pip | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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: | |
python: [ '3.8', '3.10', '3.x' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
cache: pipenv | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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 ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 | |
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@v4 | |
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@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
with: | |
bundler-cache: true | |
- name: Set up fixtures | |
run: script/source-setup/pnpm | |
- name: Run tests | |
run: script/test pnpm | |
swift: | |
runs-on: ubuntu-20.04 | |
needs: core | |
strategy: | |
matrix: | |
swift: [ "5.7", "5.6" ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Swift | |
uses: swift-actions/setup-swift@3aed395c5397f62deb91d8fe7af1418a9ae4d16f | |
with: | |
swift-version: ${{ matrix.swift }} | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
with: | |
bundler-cache: true | |
- uses: actions/cache@v4 | |
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@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
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@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
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@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
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@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc | |
with: | |
bundler-cache: true | |
- name: Set up fixtures | |
run: script/source-setup/yarn/berry | |
- name: Run tests | |
run: script/test yarn/berry |