diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 00bdbed..79466df 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,13 +3,24 @@ name: test on: [push, pull_request] jobs: + ruby-versions: + runs-on: ubuntu-latest + outputs: + versions: ${{ steps.versions.outputs.value }} + steps: + - id: versions + run: | + versions=$(curl -s 'https://cache.ruby-lang.org/pub/misc/ci_versions/cruby.json' | jq -c '. + []') + echo "value=${versions}" >> $GITHUB_OUTPUT + build: + needs: ruby-versions runs-on: ubuntu-latest strategy: matrix: - ruby: [ 3.1, '3.0', 2.7, 2.6, 2.5, 2.4, 2.3, ruby-head ] + ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} @@ -19,16 +30,17 @@ jobs: run: bundle exec rake rurema: + needs: ruby-versions runs-on: ubuntu-latest strategy: matrix: # NOTE: rurema/doctreeは2.5+しかサポートしていない - ruby: [ 3.1, '3.0', 2.7, 2.6, 2.5, ruby-head ] + ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: path: 'bitclust' - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: repository: 'rurema/doctree' path: 'doctree' @@ -52,7 +64,7 @@ jobs: for d in *.*; do tar acf ../artifact/$d.tar.xz $d done - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: statichtml-ubuntu-latest-${{ matrix.ruby }} path: /tmp/artifact/*.tar.xz @@ -61,7 +73,7 @@ jobs: run: | cd /tmp mv -v html html.pr - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: path: 'bitclust' ref: ${{ github.event.pull_request.base.sha }} @@ -77,7 +89,7 @@ jobs: mv -v html html.base git diff --no-index html.base html.pr --stat || true git diff --no-index html.base html.pr --output artifact/html.diff || true - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: diff-ubuntu-latest-${{ matrix.ruby }} path: /tmp/artifact/html.diff