mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: MJIT bindgen
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    paths-ignore:
 | 
						|
      - 'doc/**'
 | 
						|
      - '**.md'
 | 
						|
      - '**.rdoc'
 | 
						|
      - '**/.document'
 | 
						|
  pull_request:
 | 
						|
    paths-ignore:
 | 
						|
      - 'doc/**'
 | 
						|
      - '**.md'
 | 
						|
      - '**.rdoc'
 | 
						|
      - '**/.document'
 | 
						|
 | 
						|
concurrency:
 | 
						|
  group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }}
 | 
						|
  cancel-in-progress: ${{ startsWith(github.event_name, 'pull') }}
 | 
						|
 | 
						|
jobs:
 | 
						|
  make:
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        include:
 | 
						|
          - task: mjit-bindgen
 | 
						|
      fail-fast: false
 | 
						|
    env:
 | 
						|
      SETARCH: ${{ matrix.arch && format('setarch {0}', matrix.arch) }}
 | 
						|
    runs-on: ubuntu-20.04
 | 
						|
    if: ${{ !contains(github.event.head_commit.message, '[DOC]') && !contains(github.event.pull_request.labels.*.name, 'Documentation') }}
 | 
						|
    steps:
 | 
						|
      - run: mkdir build
 | 
						|
        working-directory:
 | 
						|
      - name: Set ENV
 | 
						|
        run: |
 | 
						|
          echo "GNUMAKEFLAGS=-j$((1 + $(nproc --all)))" >> $GITHUB_ENV
 | 
						|
      - name: Install libraries
 | 
						|
        env:
 | 
						|
          arch: ${{ matrix.arch }}
 | 
						|
        run: |
 | 
						|
          set -x
 | 
						|
          arch=${arch:+:${arch/i[3-6]86/i386}}
 | 
						|
          ${arch:+sudo dpkg --add-architecture ${arch#:}}
 | 
						|
          sudo apt-get update -q || :
 | 
						|
          sudo apt-get install --no-install-recommends -q -y \
 | 
						|
          ${arch:+cross}build-essential${arch/:/-} \
 | 
						|
          libssl-dev${arch} libyaml-dev${arch} libreadline6-dev${arch} \
 | 
						|
          zlib1g-dev${arch} libncurses5-dev${arch} libffi-dev${arch} \
 | 
						|
          libclang1-10${arch} \
 | 
						|
          bison autoconf ruby
 | 
						|
          sudo apt-get install -q -y pkg-config${arch} || :
 | 
						|
      - name: git config
 | 
						|
        run: |
 | 
						|
          git config --global advice.detachedHead 0
 | 
						|
          git config --global init.defaultBranch garbage
 | 
						|
      - uses: actions/checkout@v3
 | 
						|
        with:
 | 
						|
          path: src
 | 
						|
      - uses: actions/cache@v3
 | 
						|
        with:
 | 
						|
          path: src/.downloaded-cache
 | 
						|
          key: downloaded-cache
 | 
						|
      - name: Fixed world writable dirs
 | 
						|
        run: |
 | 
						|
          chmod -v go-w $HOME $HOME/.config
 | 
						|
          sudo chmod -R go-w /usr/share
 | 
						|
          sudo bash -c 'IFS=:; for d in '"$PATH"'; do chmod -v go-w $d; done' || :
 | 
						|
      - run: ./autogen.sh
 | 
						|
        working-directory: src
 | 
						|
      - name: Run configure
 | 
						|
        env:
 | 
						|
          arch: ${{ matrix.arch }}
 | 
						|
        run: >-
 | 
						|
          $SETARCH ../src/configure -C --disable-install-doc --prefix=$(pwd)/install --enable-yjit=dev_nodebug
 | 
						|
          ${arch:+--target=$arch-$OSTYPE --host=$arch-$OSTYPE}
 | 
						|
      - run: $SETARCH make incs
 | 
						|
      - run: $SETARCH make
 | 
						|
      - run: $SETARCH make install
 | 
						|
      - run: $SETARCH make ${{ matrix.task }}
 | 
						|
      - run: git diff --exit-code
 | 
						|
        working-directory: src
 | 
						|
      - uses: k0kubun/action-slack@v2.0.0
 | 
						|
        with:
 | 
						|
          payload: |
 | 
						|
            {
 | 
						|
              "ci": "GitHub Actions",
 | 
						|
              "env": "${{ matrix.os }} / ${{ matrix.test_task }}${{ matrix.configure }}",
 | 
						|
              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
 | 
						|
              "commit": "${{ github.sha }}",
 | 
						|
              "branch": "${{ github.ref }}".split('/').reverse()[0]
 | 
						|
            }
 | 
						|
        env:
 | 
						|
          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot
 | 
						|
        if: ${{ failure() && github.event_name == 'push' }}
 | 
						|
 | 
						|
defaults:
 | 
						|
  run:
 | 
						|
    working-directory: build
 |