Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: JavaScript
name: JavaScript - CI

on:
push:
branches:
- master
paths:
- .github/workflows/javascript.yml
- .github/workflows/javascript--ci.yml
- .node-version
- javascript/package.json
- javascript/pnpm-lock.yaml
- javascript/pnpm-workspace.yaml
- javascript/**/*.js
pull_request:
paths:
- .github/workflows/javascript.yml
- .github/workflows/javascript--ci.yml
- .node-version
- javascript/package.json
- javascript/pnpm-lock.yaml
Expand All @@ -40,7 +40,7 @@ jobs:
with:
filters: |
javascript:
- .github/workflows/javascript.yml
- .github/workflows/javascript--ci.yml
- .node-version
- javascript/package.json
- javascript/pnpm-lock.yaml
Expand Down
87 changes: 87 additions & 0 deletions .github/workflows/javascript--daily-dependencies-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# This workflow updates pnpm package dependencies every day and opens a pull
# request when any dependency changes are detected.

name: JavaScript - Daily Dependencies Update

on:
schedule:
# 0:00 JST every day
- cron: "0 15 * * *"
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
update:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version-file: .node-version
- name: Install pnpm
run: corepack enable && corepack prepare pnpm@latest --activate
- name: Update pnpm Package Dependencies
working-directory: ./javascript
run: pnpm update
- name: Generate Pull Request Description
env:
BODY_PATH: ${{ runner.temp }}/pr_body.md
run: |
ROWS=$(git diff --unified=0 -- javascript/pnpm-lock.yaml \
| grep -E "^[+-] '?[^ ]+@[0-9]" \
| grep -v '(' \
| sed -E "s/^(.) /\1 /; s/'//g; s/:$//" \
| awk '{ i = match($2, /@[^@]*$/); print $1, substr($2, 1, i - 1), substr($2, i + 1) }' \
| awk '{ if ($1 == "-") before[$2] = $3; else after[$2] = $3 }
END {
for (name in after) {
if (name in before) {
if (before[name] != after[name]) print "|" name " |" before[name] " |" after[name] " |Updated |"
delete before[name]
} else {
print "|" name " |- |" after[name] " |Added |"
}
}
for (name in before) print "|" name " |" before[name] " |- |Removed |"
}' \
| sort)
if [ -z "$ROWS" ]; then ROWS='| | | |No dependency changes detected |'; fi
cat > "$BODY_PATH" <<EOF
## 1. Overview

This pull request was created automatically by the JavaScript - Daily Dependencies Update workflow.
It updates every pnpm package dependency to the latest version allowed by package.json and regenerates pnpm-lock.yaml:

~~~console
pnpm update
~~~

## 2. Key Changes & Differences

|Packages |Before |After |Changes & Differences |
|:-|:-|:-|:-|
$ROWS

## 3. Summary

All pnpm package dependencies in javascript/pnpm-lock.yaml are now up to date.
Please make sure that all CI workflows pass before merging this pull request.

## 4. References

- [JavaScript - Daily Dependencies Update workflow run](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)
- [pnpm update documentation](https://pnpm.io/cli/update)
EOF
- name: Create Pull Request
uses: peter-evans/create-pull-request@v8
with:
branch: daily/javascript-dependency-updates
delete-branch: true
commit-message: "[Daily][JavaScript] Update pnpm Package Dependencies"
title: "[Daily][JavaScript] Update pnpm Package Dependencies"
body-path: ${{ runner.temp }}/pr_body.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python
name: Python - CI

on:
push:
branches:
- master
paths:
- .github/actions/setup-python/action.yml
- .github/workflows/python.yml
- .github/workflows/python--ci.yml
- .python-version
- requirements.txt
- requirements.lock
Expand All @@ -19,7 +19,7 @@ on:
pull_request:
paths:
- .github/actions/setup-python/action.yml
- .github/workflows/python.yml
- .github/workflows/python--ci.yml
- .python-version
- requirements.txt
- requirements.lock
Expand All @@ -45,7 +45,7 @@ jobs:
filters: |
python:
- .github/actions/setup-python/action.yml
- .github/workflows/python.yml
- .github/workflows/python--ci.yml
- .python-version
- requirements.txt
- requirements.lock
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/python--daily-dependencies-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# This workflow updates pip library dependencies every day and opens a pull
# request when any dependency changes are detected.

name: Python - Daily Dependencies Update

on:
schedule:
# 0:00 JST every day
- cron: "0 15 * * *"
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
update:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version-file: .python-version
- name: Update pip Library Dependencies
working-directory: ./python
run: |
pip install --upgrade pip
pip install -r requirements.txt --upgrade
pip freeze > requirements.lock
- name: Generate Pull Request Description
env:
BODY_PATH: ${{ runner.temp }}/pr_body.md
run: |
ROWS=$(git diff --unified=0 -- python/requirements.lock \
| grep -E '^[+-][A-Za-z0-9]' \
| sed -E 's/^(.)/\1 /; s/==/ /' \
| awk '{ if ($1 == "-") before[$2] = $3; else after[$2] = $3 }
END {
for (name in after) {
if (name in before) {
if (before[name] != after[name]) print "|" name " |" before[name] " |" after[name] " |Updated |"
delete before[name]
} else {
print "|" name " |- |" after[name] " |Added |"
}
}
for (name in before) print "|" name " |" before[name] " |- |Removed |"
}' \
| sort)
if [ -z "$ROWS" ]; then ROWS='| | | |No dependency changes detected |'; fi
cat > "$BODY_PATH" <<EOF
## 1. Overview

This pull request was created automatically by the Python - Daily Dependencies Update workflow.
It upgrades pip itself, upgrades every library listed in requirements.txt to the latest available versions, and regenerates requirements.lock:

~~~console
pip install --upgrade pip
pip install -r requirements.txt --upgrade
pip freeze > requirements.lock
~~~

## 2. Key Changes & Differences

|Libraries |Before |After |Changes & Differences |
|:-|:-|:-|:-|
$ROWS

## 3. Summary

All pip library dependencies in python/requirements.lock are now up to date.
Please make sure that all CI workflows pass before merging this pull request.

## 4. References

- [Python - Daily Dependencies Update workflow run](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)
- [pip install documentation](https://pip.pypa.io/en/stable/cli/pip_install/)
EOF
- name: Create Pull Request
uses: peter-evans/create-pull-request@v8
with:
branch: daily/python-dependency-updates
delete-branch: true
commit-message: "[Daily][Python] Update pip Library Dependencies"
title: "[Daily][Python] Update pip Library Dependencies"
body-path: ${{ runner.temp }}/pr_body.md
12 changes: 6 additions & 6 deletions .github/workflows/ruby.yml → .github/workflows/ruby--ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby

name: Ruby
name: Ruby - CI

on:
push:
branches:
- master
paths:
- .github/actions/setup-ruby/action.yml
- .github/workflows/ruby.yml
- .github/workflows/ruby--ci.yml
- .ruby-version
- ruby/**/*.rb
- ruby/**/*.rbs
Expand All @@ -25,7 +25,7 @@ on:
pull_request:
paths:
- .github/actions/setup-ruby/action.yml
- .github/workflows/ruby.yml
- .github/workflows/ruby--ci.yml
- .ruby-version
- ruby/**/*.rb
- ruby/**/*.rbs
Expand Down Expand Up @@ -55,14 +55,14 @@ jobs:
filters: |
ruby:
- .github/actions/setup-ruby/action.yml
- .github/workflows/ruby.yml
- .github/workflows/ruby--ci.yml
- .ruby-version
- ruby/**/*.rb
- ruby/Gemfile
- ruby/Gemfile.lock
rubocop:
- .github/actions/setup-ruby/action.yml
- .github/workflows/ruby.yml
- .github/workflows/ruby--ci.yml
- .ruby-version
- ruby/**/*.rb
- ruby/Gemfile
Expand All @@ -71,7 +71,7 @@ jobs:
- ruby/.rubocop_todo.yml
steep:
- .github/actions/setup-ruby/action.yml
- .github/workflows/ruby.yml
- .github/workflows/ruby--ci.yml
- .ruby-version
- ruby/**/*.rb
- ruby/**/*.rbs
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/ruby--daily-dependencies-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# This workflow updates gem dependencies every day and opens a pull request
# when any dependency changes are detected.

name: Ruby - Daily Dependencies Update

on:
schedule:
# 0:00 JST every day
- cron: "0 15 * * *"
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
update:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Update Gem Dependencies
working-directory: ./ruby
env:
BUNDLE_FROZEN: "false"
run: |
gem update --system
gem install bundler
bundle update --all
- name: Generate Pull Request Description
env:
BODY_PATH: ${{ runner.temp }}/pr_body.md
run: |
ROWS=$(git diff --unified=0 -- ruby/Gemfile.lock \
| grep -E '^[+-] {4}[^ ]+ \([0-9]' \
| sed -E 's/^(.) +/\1 /; s/[()]//g' \
| awk '{ if ($1 == "-") before[$2] = $3; else after[$2] = $3 }
END {
for (name in after) {
if (name in before) {
if (before[name] != after[name]) print "|" name " |" before[name] " |" after[name] " |Updated |"
delete before[name]
} else {
print "|" name " |- |" after[name] " |Added |"
}
}
for (name in before) print "|" name " |" before[name] " |- |Removed |"
}' \
| sort)
if [ -z "$ROWS" ]; then ROWS='| | | |No dependency changes detected |'; fi
cat > "$BODY_PATH" <<EOF
## 1. Overview

This pull request was created automatically by the Ruby - Daily Dependencies Update workflow.
It upgrades RubyGems and Bundler, and updates every gem to the latest version allowed by the Gemfile:

~~~console
gem update --system
gem install bundler
bundle update --all
~~~

## 2. Key Changes & Differences

|Gems |Before |After |Changes & Differences |
|:-|:-|:-|:-|
$ROWS

## 3. Summary

All gem dependencies in ruby/Gemfile.lock are now up to date.
Please make sure that all CI workflows pass before merging this pull request.

## 4. References

- [Ruby - Daily Dependencies Update workflow run](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)
- [bundle update documentation](https://bundler.io/man/bundle-update.1.html)
EOF
- name: Create Pull Request
uses: peter-evans/create-pull-request@v8
with:
branch: daily/ruby-dependency-updates
delete-branch: true
commit-message: "[Daily][Ruby] Update Gem dependencies"
title: "[Daily][Ruby] Update Gem dependencies"
body-path: ${{ runner.temp }}/pr_body.md
Loading