summaryrefslogtreecommitdiff
path: root/.github/workflows/macos.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/macos.yml')
-rw-r--r--.github/workflows/macos.yml43
1 files changed, 40 insertions, 3 deletions
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index 87231228bc..3d97c092f7 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -3,7 +3,7 @@ on:
push:
paths-ignore:
- 'doc/**'
- - '**/man'
+ - '**/man/*'
- '**.md'
- '**.rdoc'
- '**/.document'
@@ -52,7 +52,7 @@ jobs:
)}}
steps:
- - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
sparse-checkout-cone-mode: false
sparse-checkout: /.github
@@ -70,8 +70,14 @@ jobs:
# Set fetch-depth: 0 so that Launchable can receive commits information.
fetch-depth: 10
+ - name: make sure that kern.coredump=1
+ run: |
+ sysctl -n kern.coredump
+ sudo sysctl -w kern.coredump=1
+ sudo chmod -R +rwx /cores/
+
- name: Run configure
- run: ../src/configure -C --disable-install-doc
+ run: ../src/configure -C --disable-install-doc ${ruby_configure_args}
- run: make prepare-gems
if: ${{ matrix.test_task == 'test-bundled-gems' }}
@@ -110,6 +116,7 @@ jobs:
- name: make skipped tests
run: |
+ ulimit -c unlimited
make -s test-all TESTS="${TESTS//-n!\//-n/}"
env:
GNUMAKEFLAGS: ''
@@ -124,6 +131,36 @@ jobs:
SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot
if: ${{ failure() }}
+ - name: Resolve job ID
+ id: job_id
+ uses: actions/github-script@main
+ env:
+ matrix: ${{ toJson(matrix) }}
+ with:
+ script: |
+ const { data: workflow_run } = await github.rest.actions.listJobsForWorkflowRun({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ run_id: context.runId
+ });
+ const matrix = JSON.parse(process.env.matrix);
+ const job_name = `${context.job}${matrix ? ` (${Object.values(matrix).join(", ")})` : ""}`;
+ return workflow_run.jobs.find((job) => job.name === job_name).id;
+
+ - name: upload /cores
+ run: |
+ ls -l /cores
+ CORES_TAR_GZ="cores-${{ github.run_id }}-${{ steps.job_id.outputs.result }}.tar.gz"
+ echo "test: $CORES_TAR_GZ"
+ if [ -n "$(ls /cores)" ]; then
+ tar czf /cores "$CORES_TAR_GZ"
+ aws s3 cp "$CORES_TAR_GZ" "s3://ruby-core-files/$CORES_TAR_GZ"
+ fi
+ env:
+ AWS_ACCESS_KEY_ID: ${{ secrets.RUBY_CORE_FILES_AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.RUBY_CORE_FILES_AWS_SECRET_ACCESS_KEY }}
+ AWS_DEFAULT_REGION: ap-northeast-1
+
result:
if: ${{ always() }}
name: ${{ github.workflow }} result