name: bench on: push: branches: - master pull_request: types: - opened - synchronize - reopened schedule: - cron: "00 15 * * *" # 7:00 PST (-8), 8:00 PDT (-7) jobs: bench: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - slim: 1 - template: 'benchmark/boolean_attribute.haml,benchmark/class_attribute.haml,benchmark/id_attribute.haml,benchmark/data_attribute.haml,benchmark/common_attribute.haml' - template: 'benchmark/dynamic_attributes/boolean_attribute.haml,benchmark/dynamic_attributes/class_attribute.haml,benchmark/dynamic_attributes/id_attribute.haml,benchmark/dynamic_attributes/data_attribute.haml,benchmark/dynamic_attributes/common_attribute.haml' - template: 'benchmark/etc/attribute_builder.haml' - template: 'benchmark/etc/static_analyzer.haml' - template: 'benchmark/etc/string_interpolation.haml' - template: 'test/haml/templates/standard.haml' compile: 1 steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.0' - uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: ${{ runner.os }}-gems- - run: sudo apt-get update && sudo apt-get install -y nodejs libxslt-dev # nodejs for execjs, libxslt for TruffleRuby nokogiri - name: bundle install run: bundle config path vendor/bundle && bundle install -j$(nproc) --retry 3 - run: bundle exec rake bench env: SLIM_BENCH: ${{ matrix.slim }} TEMPLATE: ${{ matrix.template }} COMPILE: ${{ matrix.compile }}