diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..d10f97e6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,19 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: daily + - package-ecosystem: bundler + directory: / + schedule: + interval: weekly + - package-ecosystem: docker + directory: docker + schedule: + interval: weekly diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bd1daabc..fb8a4213 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: steps: - id: get_version name: Get package version - uses: actions/github-script@v3 + uses: actions/github-script@v4.1 with: github-token: ${{ secrets.GITHUB_TOKEN }} result-encoding: string @@ -41,7 +41,7 @@ jobs: - id: get_url name: Get release upload url - uses: actions/github-script@v3 + uses: actions/github-script@v4.1 with: github-token: ${{ secrets.GITHUB_TOKEN }} result-encoding: string @@ -65,7 +65,7 @@ jobs: - id: get_ref name: Get checkout ref for custom build scripts - uses: actions/github-script@v3 + uses: actions/github-script@v4.1 with: github-token: ${{ secrets.GITHUB_TOKEN }} result-encoding: string diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fdd64aca..b3d3df8a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,10 +18,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -45,10 +48,13 @@ jobs: yes | gem uninstall bundler --all gem install bundler -v "${{ matrix.bundler }}" - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -74,10 +80,22 @@ jobs: ghc-version: ${{ matrix.ghc }} cabal-version: ${{ matrix.cabal }} - run: bundle lock - - uses: actions/cache@v1 + - name: cache cabal dependencies + uses: actions/cache@v2 + with: + path: | + ~/.cabal/packages + ~/.cabal/store + key: ${{ runner.os }}-cabal-${{ matrix.ghc }}-${{ hashFiles('**/app.cabal') }} + restore-keys: | + ${{ runner.os }}-cabal- + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -93,7 +111,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Setup php - uses: nanasess/setup-php@v3.0.6 + uses: nanasess/setup-php@v3.0.8 with: php-version: ${{ matrix.php }} - name: Set up Ruby @@ -101,10 +119,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -126,10 +147,13 @@ jobs: - name: Set up Bundler run: gem install bundler - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems key: ${{ runner.os }}-gem-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-${{ matrix.ruby }}- - name: Bootstrap run: script/bootstrap - name: Build and lint @@ -142,7 +166,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Setup go - uses: actions/setup-go@v1 + uses: actions/setup-go@v2 with: go-version: 1.10.x - name: Set up Ruby @@ -150,10 +174,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -169,7 +196,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Setup go - uses: actions/setup-go@v1 + uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - name: Set up Ruby @@ -177,10 +204,22 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache go dependencies + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -211,10 +250,22 @@ jobs: with: java-version: ${{ matrix.java }} distribution: adopt - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gradle dependencies + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Gradle version @@ -231,10 +282,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Run tests @@ -248,7 +302,7 @@ jobs: elixir: [ 1.11.x, 1.12.x ] steps: - uses: actions/checkout@v2 - - uses: erlef/setup-elixir@v1.6.0 + - uses: erlef/setup-elixir@v1.9 with: otp-version: ${{matrix.otp}} elixir-version: ${{matrix.elixir}} @@ -257,10 +311,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -284,10 +341,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -311,10 +371,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -330,7 +393,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Setup python - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} architecture: x64 @@ -339,10 +402,20 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache pip dependencies + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Install virtualenv @@ -357,7 +430,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Setup python - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: '3.x' architecture: x64 @@ -366,10 +439,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Install pipenv @@ -395,10 +471,20 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache spm dependencies + with: + path: .build + key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} + restore-keys: | + ${{ runner.os }}-spm- + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures @@ -427,10 +513,13 @@ jobs: with: ruby-version: 2.6 - run: bundle lock - - uses: actions/cache@v1 + - uses: actions/cache@v2 + name: cache gem dependencies with: path: vendor/gems - key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }} + key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem-2.6- - name: Bootstrap run: script/bootstrap - name: Set up fixtures diff --git a/docker/Dockerfile.build-linux b/docker/Dockerfile.build-linux index 96fa79f3..7a970f29 100644 --- a/docker/Dockerfile.build-linux +++ b/docker/Dockerfile.build-linux @@ -1,4 +1,4 @@ -FROM ruby:2.4-slim-stretch +FROM ruby:2.6.8-slim-stretch RUN apt-get update \ && apt-get install -y --no-install-recommends cmake make gcc pkg-config squashfs-tools git curl bison rsync \ diff --git a/licensed.gemspec b/licensed.gemspec index 5810e19e..0a3b5a90 100644 --- a/licensed.gemspec +++ b/licensed.gemspec @@ -26,16 +26,16 @@ Gem::Specification.new do |spec| spec.add_dependency "licensee", ">= 9.14.0", "< 10.0.0" spec.add_dependency "thor", ">= 0.19" spec.add_dependency "pathname-common_prefix", "~> 0.0.1" - spec.add_dependency "tomlrb", "~> 1.2" + spec.add_dependency "tomlrb", ">= 1.2", "< 3.0" spec.add_dependency "bundler", ">= 1.10" spec.add_dependency "ruby-xxHash", "~> 0.4" spec.add_dependency "parallel", ">= 0.18.0" - spec.add_dependency "reverse_markdown", "~> 1.0" + spec.add_dependency "reverse_markdown", ">= 1", "< 3" spec.add_development_dependency "rake", ">= 12.3.3" spec.add_development_dependency "minitest", "~> 5.8" spec.add_development_dependency "mocha", "~> 1.0" spec.add_development_dependency "rubocop", "~> 0.49", "< 0.67" spec.add_development_dependency "rubocop-github", "~> 0.6" - spec.add_development_dependency "byebug", "~> 10.0.0" + spec.add_development_dependency "byebug", "~> 11.0.1" end