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.head_commit.message, 'Document') || contains(github.event.pull_request.title, '[DOC]') || contains(github.event.pull_request.title, 'Document') || contains(github.event.pull_request.labels.*.name, 'Document') || (github.event_name == 'push' && 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: sparse-checkout-cone-mode: false sparse-checkout: /.github - uses: ./.github/actions/setup/directories with: srcdir: src builddir: build makeup: true - uses: ruby/setup-ruby@a6e6f86333f0a2523ece813039b8b4be04560854 # v1.190.0 with: ruby-version: '3.0' 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