name: Test on: push: branches: - "*" tags: - "!*" jobs: bower: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Setup node uses: actions/setup-node@v1 with: node-version: 8 - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/bower - name: Run tests run: script/test bower bundler: runs-on: ubuntu-latest strategy: matrix: bundler: [ '~> 1.15.0', '~> 1.16.0', '~> 1.17.0', '~> 2.0.0' ] steps: - uses: actions/checkout@master - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - name: Set up Bundler run: | yes | gem uninstall bundler --all gem install bundler -v "${{ matrix.bundler }}" - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/bundler - name: Run tests run: script/test bundler cabal: runs-on: ubuntu-latest strategy: matrix: ghc: [ '8.2.2', '8.6.5' ] cabal: [ '2.0', '3.0' ] steps: - uses: actions/checkout@master - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - name: Setup Haskell uses: actions/setup-haskell@v1 with: ghc-version: ${{ matrix.ghc }} cabal-version: ${{ matrix.cabal }} - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/cabal - name: Run tests run: script/test cabal composer: runs-on: ubuntu-latest strategy: matrix: php: [ '5.6', '7.1', '7.2', '7.3' ] steps: - uses: actions/checkout@master - name: Setup php uses: nanasess/setup-php@v1.0.2 with: php-version: ${{ matrix.php }} - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/composer - name: Run tests run: script/test composer core: runs-on: ubuntu-latest strategy: matrix: ruby: [ 2.4.x, 2.5.x, 2.6.x ] steps: - uses: actions/checkout@master - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} - name: Set up Bundler run: gem install bundler - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-${{ matrix.ruby }}-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Build and lint run: bundle exec rake rubocop build - name: Core functionality tests run: script/test core dep: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Setup go uses: actions/setup-go@v1 with: go-version: 1.10.x - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/go - name: Run tests run: script/test dep go: runs-on: ubuntu-latest strategy: matrix: go: [ '1.7.x', '1.10.x', '1.11.1' ] steps: - uses: actions/checkout@master - name: Setup go uses: actions/setup-go@v1 with: go-version: ${{ matrix.go }} - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/go - name: Run tests run: script/test go gradle: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Gradle version run: test/fixtures/gradle/gradlew --quiet --version - name: Run tests run: script/test gradle manifest: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Run tests run: script/test manifest mix: runs-on: ubuntu-latest strategy: matrix: otp: [21.x, 22.x] elixir: [1.8.x, 1.9.x] steps: - uses: actions/checkout@master - uses: actions/setup-elixir@v1.0.0 with: otp-version: ${{matrix.otp}} elixir-version: ${{matrix.elixir}} - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/mix - name: Run tests run: script/test mix npm: runs-on: ubuntu-latest strategy: matrix: node_version: [ 8, 10, 12 ] steps: - uses: actions/checkout@master - name: Setup node uses: actions/setup-node@v1 with: node-version: ${{ matrix.node_version }} - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Set up fixtures run: script/source-setup/npm - name: Run tests run: script/test npm pip: runs-on: ubuntu-latest strategy: matrix: python: [ '2.x', '3.x' ] steps: - uses: actions/checkout@master - name: Setup python uses: actions/setup-python@v1 with: python-version: ${{ matrix.python }} architecture: x64 - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - 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 steps: - uses: actions/checkout@master - name: Setup python uses: actions/setup-python@v1 with: python-version: '3.x' architecture: x64 - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: 2.6.x - run: bundle lock - uses: actions/cache@preview with: path: vendor/gems key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles(format('{0}{1}', github.workspace, '/Gemfile.lock')) }} - name: Bootstrap run: script/bootstrap - name: Install pipenv run: pip install pipenv - name: Set up fixtures run: script/source-setup/pipenv - name: Run tests run: script/test pipenv