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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
39 changes: 39 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
golang:
- changed-files:
- any-glob-to-any-file: golang/**/*

scala:
- changed-files:
- any-glob-to-any-file: scala/**/*

java17:
- changed-files:
- any-glob-to-any-file: java17/**/*

java8:
- changed-files:
- any-glob-to-any-file: java8/**/*

typescript:
- changed-files:
- any-glob-to-any-file: typescript/**/*

python:
- changed-files:
- any-glob-to-any-file: python/**/*

ruby:
- changed-files:
- any-glob-to-any-file: ruby/**/*

php:
- changed-files:
- any-glob-to-any-file: php/**/*

docs:
- changed-files:
- any-glob-to-any-file: docs/**/*

ci:
- changed-files:
- any-glob-to-any-file: .github/**/*
31 changes: 31 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
extends: [
"config:best-practices",
"schedule:earlyMondays",
"group:allNonMajor",
],
automerge: true,
platformAutomerge: true,
dependencyDashboard: false,
labels: ["dependencies"],
postUpdateOptions: ["gomodTidy", "gomodUpdateImportPaths"],
prHourlyLimit: 0,
prConcurrentLimit: 5,
lockFileMaintenance: {
enabled: true,
schedule: ["before 3am on sunday"],
},
vulnerabilityAlerts: {
enabled: true,
labels: ["security"],
},
packageRules: [
{
# disable language major version upgrades
matchCategories: ["python", "node", "golang", "php", "typescript", "java", "scala", "ruby"],
matchUpdateTypes: ["major"],
enabled: false,
},
],
minimumReleaseAge: "7 days",
}
53 changes: 53 additions & 0 deletions .github/workflows/action-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
on:
pull_request:
paths:
- .github/workflows/*.yml

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
actionlint:
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
checks: write
contents: read
pull-requests: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: true # allow for reviewdog
- uses: reviewdog/action-actionlint@6fb7acc99f4a1008869fa8a0f09cfca740837d9d # v1.72
with:
fail_level: warning
filter_mode: nofilter
level: error
reporter: github-pr-review
ghalint:
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- run: |
gh release download "v${GHALINT_VERSION}" \
--repo suzuki-shunsuke/ghalint \
--pattern 'ghalint_*_linux_amd64.tar.gz' \
--output '/tmp/ghalint.tar.gz'
shell: bash
env:
GHALINT_VERSION: 1.5.6
GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- run: |
cd /tmp
mkdir dist
tar -xvf ghalint.tar.gz -C ./dist/
sudo mv ./dist/ghalint /usr/local/bin
rm -rf ./dist ghalint.tar.gz
shell: bash
- run: ghalint run
15 changes: 15 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: "Pull Request Labeler"
on:
- pull_request_target

jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
36 changes: 36 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: release

on:
workflow_dispatch:

permissions:
contents: read

jobs:
package:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false

- name: Create zip archives
run: |
for dir in golang java17 java8 php python ruby scala typescript; do
zip -r "${dir}.zip" "${dir}/"
done
shell: bash

- name: Create release and upload assets
run: |
TAG="release-$(date +%Y%m%d-%H%M%S)"
gh release create "$TAG" \
--title "Implementations $TAG" \
--notes "Auto-generated release of implementation samples" \
golang.zip java17.zip java8.zip php.zip python.zip ruby.zip scala.zip typescript.zip
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
37 changes: 37 additions & 0 deletions .github/workflows/test-go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Go

on:
pull_request:
paths:
- '.github/workflows/test-go.yml'
- 'golang/**.go'
- 'golang/go.mod'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
name: Build
timeout-minutes: 5
defaults:
run:
working-directory: golang
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version-file: 'golang/go.mod'
cache: true
- run: go mod download
- run: go build ./...
- run: go fmt ./...
36 changes: 36 additions & 0 deletions .github/workflows/test-java17.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Java 17

on:
pull_request:
paths:
- '.github/workflows/test-java17.yml'
- 'java17/src/**'
- 'java17/pom.xml'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
name: Build
timeout-minutes: 5
defaults:
run:
working-directory: java17
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
with:
distribution: temurin
java-version: '17'
cache: maven
- run: ./mvnw compile -DskipTests
36 changes: 36 additions & 0 deletions .github/workflows/test-java8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Java 8

on:
pull_request:
paths:
- '.github/workflows/test-java8.yml'
- 'java8/src/**'
- 'java8/pom.xml'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
name: Build
timeout-minutes: 5
defaults:
run:
working-directory: java8
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
with:
distribution: temurin
java-version: '8'
cache: maven
- run: ./mvnw compile -DskipTests
34 changes: 34 additions & 0 deletions .github/workflows/test-php.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: PHP

on:
pull_request:
paths:
- '.github/workflows/test-php.yml'
- 'php/src/**'
- 'php/composer.json'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
name: Build
timeout-minutes: 5
defaults:
run:
working-directory: php
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.5'
- run: composer install --no-interaction --prefer-dist
35 changes: 35 additions & 0 deletions .github/workflows/test-python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Python

on:
pull_request:
paths:
- '.github/workflows/test-python.yml'
- 'python/src/**'
- 'python/pyproject.toml'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
name: Build
timeout-minutes: 5
defaults:
run:
working-directory: python
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version-file: 'python/pyproject.toml'
cache: pip
- run: pip install .
35 changes: 35 additions & 0 deletions .github/workflows/test-ruby.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Ruby

on:
pull_request:
paths:
- '.github/workflows/test-ruby.yml'
- 'ruby/lib/**'
- 'ruby/Gemfile'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
name: Build
timeout-minutes: 5
defaults:
run:
working-directory: ruby
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
with:
ruby-version: '3.3'
bundler-cache: true
working-directory: ruby
Loading
Loading