diff options
Diffstat (limited to '.github/workflows/annocheck.yml')
| -rw-r--r-- | .github/workflows/annocheck.yml | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/.github/workflows/annocheck.yml b/.github/workflows/annocheck.yml new file mode 100644 index 0000000000..5991165d43 --- /dev/null +++ b/.github/workflows/annocheck.yml @@ -0,0 +1,111 @@ +name: Annocheck + +on: + push: + paths-ignore: + - 'doc/**' + - '**/man/*' + - '**.md' + - '**.rdoc' + - '**/.document' + - '.*.yml' + pull_request: + paths-ignore: + - 'doc/**' + - '**/man/*' + - '**.md' + - '**.rdoc' + - '**/.document' + - '.*.yml' + merge_group: + +concurrency: + group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }} + cancel-in-progress: ${{ startsWith(github.event_name, 'pull') }} + +permissions: + contents: read + +jobs: + compile: + name: test-annocheck + + runs-on: ubuntu-latest + + container: + image: ghcr.io/ruby/ruby-ci-image:gcc-11 + options: --user root + + if: >- + ${{!(false + || contains(github.event.head_commit.message, '[DOC]') + || contains(github.event.pull_request.title, '[DOC]') + || contains(github.event.pull_request.labels.*.name, 'Documentation') + || (github.event.pull_request.user.login == 'dependabot[bot]') + )}} + + env: + CONFIGURE_TTY: never + GITPULLOPTIONS: --no-tags origin ${{ github.ref }} + RUBY_DEBUG: ci rgengc + RUBY_TESTOPTS: >- + -q + --color=always + --tty=no + # FIXME: Drop skipping options + # https://bugs.ruby-lang.org/issues/18061 + # https://sourceware.org/annobin/annobin.html/Test-pie.html + TEST_ANNOCHECK_OPTS: '--skip-pie --skip-gaps' + + steps: + - run: id + working-directory: + + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + with: + sparse-checkout-cone-mode: false + sparse-checkout: /.github + persist-credentials: false + + - uses: ./.github/actions/setup/directories + with: + srcdir: src + builddir: build + makeup: true + + - uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0 + with: + ruby-version: '3.1' + bundler: none + + # Minimal flags to pass the check. + # -g0 disables backtraces when SEGV. Do not set that. + - name: Run configure + run: > + ../src/configure -C + --enable-debug-env + --disable-install-doc + --with-ext=-test-/cxxanyargs,+ + --without-valgrind + --without-jemalloc + --without-gmp + --with-gcc="gcc-11 -fcf-protection -Wa,--generate-missing-build-notes=yes" + --enable-shared + debugflags=-ggdb3 + optflags=-O2 + LDFLAGS=-Wl,-z,now + + - run: make showflags + + - run: make + + - run: make test-annocheck + + - uses: ./.github/actions/slack + with: + SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot + if: ${{ failure() }} + +defaults: + run: + working-directory: build |
