summaryrefslogtreecommitdiff
path: root/.github/workflows/bundled_gems.yml
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-09-05 13:10:04 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-09-06 15:17:04 +0900
commita5e323f5edb85fa1bd94bb1e67b8ef8f6827056d (patch)
treea938475ccd33645c673f2637097fabb96647d6ec /.github/workflows/bundled_gems.yml
parentf336a3eb6c76890f3d8f878725b3d328c8fdcf33 (diff)
Schedule to update bundled_gems
Diffstat (limited to '.github/workflows/bundled_gems.yml')
-rw-r--r--.github/workflows/bundled_gems.yml66
1 files changed, 66 insertions, 0 deletions
diff --git a/.github/workflows/bundled_gems.yml b/.github/workflows/bundled_gems.yml
new file mode 100644
index 0000000000..d46c0704cd
--- /dev/null
+++ b/.github/workflows/bundled_gems.yml
@@ -0,0 +1,66 @@
+name: bundled_gems
+
+on:
+ schedule:
+ - cron: '45 6 * * *'
+
+jobs:
+ update:
+ if: ${{ github.repository == 'ruby/ruby' }}
+ name: update ${{ github.workflow }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: git config
+ run: |
+ git config --global advice.detachedHead 0
+ git config --global init.defaultBranch garbage
+
+ - name: Set ENV
+ run: |
+ echo "JOBS=-j$((1 + $(nproc --all)))" >> $GITHUB_ENV
+
+ - uses: actions/checkout@v2
+
+ - name: Update ${{ github.workflow }}
+ run: |
+ ruby -i~ tool/update-bundled_gems.rb gems/${{ github.workflow }}
+
+ - name: Check diffs
+ id: diff
+ run: |
+ git diff --no-ext-diff --ignore-submodules --exit-code
+ continue-on-error: true
+
+ - name: Install libraries
+ run: |
+ set -x
+ sudo apt-get update -q || :
+ sudo apt-get install --no-install-recommends -q -y build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev bison autoconf ruby
+ if: ${{ steps.diff.outcome == 'failure' }}
+
+ - name: Build
+ run: |
+ ./autogen.sh
+ ./configure -C --disable-install-doc
+ make $JOBS
+ if: ${{ steps.diff.outcome == 'failure' }}
+
+ - name: Test bundled gems
+ run: |
+ make $JOBS -s test-bundled-gems
+ timeout-minutes: 30
+ env:
+ RUBY_TESTOPTS: "-q --tty=no"
+ TEST_BUNDLED_GEMS_ALLOW_FAILURES: ""
+ if: ${{ steps.diff.outcome == 'failure' }}
+
+ - name: Commit
+ run: |
+ git commit --message="Update ${{ github.workflow }} at $(date +%F)" gems/${{ github.workflow }}
+ git pull --ff-only origin ${GITHUB_REF#refs/heads/}
+ git push origin ${GITHUB_REF#refs/heads/}
+ env:
+ EMAIL: svn-admin@ruby-lang.org
+ GIT_AUTHOR_NAME: git
+ GIT_COMMITTER_NAME: git
+ if: ${{ steps.diff.outcome == 'failure' }}