name: Annocheck on: push: paths-ignore: - 'doc/**' - '**/man' - '**.md' - '**.rdoc' - '**/.document' - '.*.yml' pull_request: paths-ignore: - 'doc/**' - '**/man' - '**.md' - '**.rdoc' - '**/.document' - '.*.yml' merge_group: paths-ignore: - 'doc/**' - '**/man' - '**.md' - '**.rdoc' - '**/.document' - '.*.yml' 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: gcc-11 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_name == 'push' && github.actor == '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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: sparse-checkout-cone-mode: false sparse-checkout: /.github - uses: ./.github/actions/setup/directories with: srcdir: src builddir: build makeup: true # 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 - run: make install - run: make test-tool ### test-all doesn't work: https://github.com/ruby/ruby/actions/runs/4340112185/jobs/7578344307 # - run: make test-all TESTS='-- ruby -ext-' ### test-spec doesn't work: https://github.com/ruby/ruby/actions/runs/4340193212/jobs/7578505652 # - run: make test-spec # env: # CHECK_LEAKS: true - run: make test-annocheck continue-on-error: true # toomanyrequests: You have reached your pull rate limit. - 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