diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2019-11-12 21:48:05 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-12 21:48:05 -0800 |
commit | 331655cbe7139a287267c90b3ab46ed856aebb5b (patch) | |
tree | 4e4910a03ecc2ccdef069647346c106a05394363 /.github/workflows | |
parent | c4064aef7f48c51add6c24467da64528d5a2a2a5 (diff) | |
download | ruby-331655cbe7139a287267c90b3ab46ed856aebb5b.tar.gz |
Migrate Wercker MJIT tests to Actions (#2676)
* Migrate Wercker MJIT tests to Actions
* Support pull request for testing
* Capitalize other jobs too
* Make it a command name for consistency [ci skip]
* Remove wercker.yml
* Add --jit-verbose=2 for debugging
* Install MJIT headers
* Separate install for sudo
* Trigger build
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/check_branch.yml | 2 | ||||
-rw-r--r-- | .github/workflows/macos.yml | 2 | ||||
-rw-r--r-- | .github/workflows/mjit.yml | 77 | ||||
-rw-r--r-- | .github/workflows/ubuntu.yml | 2 | ||||
-rw-r--r-- | .github/workflows/windows.yml | 2 |
5 files changed, 81 insertions, 4 deletions
diff --git a/.github/workflows/check_branch.yml b/.github/workflows/check_branch.yml index 4a74cbd458..37cf3a9a8f 100644 --- a/.github/workflows/check_branch.yml +++ b/.github/workflows/check_branch.yml @@ -6,7 +6,7 @@ # to prevent us from accidentally pushing commits to GitHub directly. # # Details: https://bugs.ruby-lang.org/issues/16094 -name: pull_request +name: Pull Request on: [pull_request] jobs: check_branch: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d7437a2f2d..b0cd602d30 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,4 +1,4 @@ -name: macos +name: macOS on: push: branches: diff --git a/.github/workflows/mjit.yml b/.github/workflows/mjit.yml new file mode 100644 index 0000000000..39a05ae419 --- /dev/null +++ b/.github/workflows/mjit.yml @@ -0,0 +1,77 @@ +name: MJIT +on: + push: + branches: + - master + pull_request: + branches: + - '*' +jobs: + test: + strategy: + matrix: + jit_opts: [ "--jit", "--jit-wait" ] + fail-fast: false + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[ci skip]')" + steps: + - name: Install libraries + run: | + set -x + sudo apt-get update -q + sudo apt-get install --no-install-recommends -q -y build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev bison autoconf ruby + # Not using official actions/checkout because it's unstable and sometimes doesn't work for a fork. + - name: Checkout ruby/ruby + run: | + git clone --depth=50 https://github.com/ruby/ruby src + git -C src reset --hard "$GITHUB_SHA" + if: github.event_name == 'push' + - name: Checkout a pull request + run: | + git clone --depth=50 "--branch=$GITHUB_BRANCH" "https://github.com/${GITHUB_REPO}" src + git -C src reset --hard "$GITHUB_REV" + env: + GITHUB_REV: ${{ github.event.pull_request.head.sha }} + GITHUB_BRANCH: ${{ github.event.pull_request.head.ref }} + GITHUB_REPO: ${{ github.event.pull_request.head.repo.full_name }} + if: github.event_name == 'pull_request' + - name: Fixed world writable dirs + run: | + chmod go-w $HOME + sudo chmod -R go-w /usr/share + - name: Set ENV + run: | + echo '::set-env name=JOBS::'-j$((1 + $(nproc --all))) + - name: Autoconf + run: cd src && exec autoconf + - name: configure + run: | + mkdir build + cd build + ../src/configure -C --disable-install-doc + - name: make all + run: make -C build $JOBS + - name: make install + run: sudo make -C build $JOBS install + - name: make test + run: "make -C build $JOBS -s test TESTOPTS='-q --tty=no' RUN_OPTS='--disable-gems --jit-warnings ${{ matrix.jit_opts }}'" + - name: make test-all + run: "make -C build $JOBS -s test-all TESTOPTS='-q --tty=no' RUN_OPTS='--disable-gems --jit-warnings ${{ matrix.jit_opts }}'" + - name: make test-spec + run: "make -C build $JOBS -s test-spec RUN_OPTS='--disable-gems --jit-warnings ${{ matrix.jit_opts }}'" + - name: Leaked Globals + run: make -C build -s leaked-globals + - uses: k0kubun/action-slack@v2.0.0 + with: + payload: | + { + "attachments": [{ + "text": "${{ job.status}}: <https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks|${{ matrix.os }} / ${{ matrix.test_task }}> " + + "(<https://github.com/${{ github.repository }}/commit/${{ github.sha }}|" + "${{ github.sha }}".substring(0, 10) + ">) " + + "of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}", + "color": "danger" + }] + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + if: failure() && github.event_name == 'push' diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 1a59bc333a..847e4a1e97 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -1,4 +1,4 @@ -name: ubuntu +name: Ubuntu on: push: branches: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index efa371d4a0..8dd546bda6 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,4 +1,4 @@ -name: windows +name: Windows on: push: branches: |