snapshot of https://github.com/ory/keto.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
CI / Run lints and checks (push) Failing after 47s
CI / Run tests (push) Failing after 1s
CI / Run race tests (push) Failing after 5s
CI / Build CLI docs (push) Has been skipped
CI / Run buf actions (push) Failing after 5s
CodeQL / Analyze (go) (push) Failing after 3s
CodeQL / Analyze (javascript) (push) Failing after 2s
Docker Image Scanners / scanners (push) Failing after 3s
Format / format (push) Failing after 3s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Draft newsletter (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
Some checks failed
CI / Run lints and checks (push) Failing after 47s
CI / Run tests (push) Failing after 1s
CI / Run race tests (push) Failing after 5s
CI / Build CLI docs (push) Has been skipped
CI / Run buf actions (push) Failing after 5s
CodeQL / Analyze (go) (push) Failing after 3s
CodeQL / Analyze (javascript) (push) Failing after 2s
Docker Image Scanners / scanners (push) Failing after 3s
Format / format (push) Failing after 3s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Draft newsletter (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
This commit is contained in:
242
.github/workflows/ci.yaml
vendored
Normal file
242
.github/workflows/ci.yaml
vendored
Normal file
@@ -0,0 +1,242 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- "*"
|
||||
pull_request:
|
||||
merge_group:
|
||||
|
||||
# Cancel in-progress runs in current workflow.
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
name: Run lints and checks
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: ory/ci/checkout@master
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
check-latest: true
|
||||
go-version-file: go.mod
|
||||
- name: Update npm to a non-buggy version
|
||||
run: sudo npm i -g npm@9.5.0
|
||||
- name: Lint buf
|
||||
run: make buf-lint
|
||||
- run: go list -json > go.list
|
||||
- name: Run nancy
|
||||
uses: sonatype-nexus-community/nancy-github-action@395e2fb168f674f96502e5652103d112899ea369
|
||||
with:
|
||||
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Run golangci-lint
|
||||
if: ${{ github.ref_type != 'tag' }}
|
||||
uses: golangci/golangci-lint-action@v9
|
||||
env:
|
||||
GOGC: 100
|
||||
with:
|
||||
version: latest
|
||||
args: --timeout 10m0s
|
||||
only-new-issues: "true"
|
||||
- name: Test documentation examples
|
||||
run: make test-docs-samples
|
||||
- name: Test OPL typelib
|
||||
run: cd contrib/namespace-type-lib && npm ci && npm test
|
||||
|
||||
test:
|
||||
name: Run tests
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:18
|
||||
env:
|
||||
POSTGRES_DB: keto
|
||||
POSTGRES_PASSWORD: test
|
||||
POSTGRES_USER: test
|
||||
ports:
|
||||
- 5432:5432
|
||||
mysql:
|
||||
image: mysql:9.6
|
||||
env:
|
||||
MYSQL_ROOT_PASSWORD: test
|
||||
ports:
|
||||
- 3306:3306
|
||||
env:
|
||||
TEST_DATABASE_POSTGRESQL: postgres://test:test@localhost:5432/keto?sslmode=disable
|
||||
TEST_DATABASE_MYSQL: mysql://root:test@(localhost:3306)/mysql?parseTime=true&multiStatements=true
|
||||
TEST_DATABASE_COCKROACHDB: cockroach://root@localhost:26257/defaultdb?sslmode=disable
|
||||
steps:
|
||||
- run: |
|
||||
docker create --name cockroach -p 26257:26257 \
|
||||
cockroachdb/cockroach:latest-v25.4 start-single-node --insecure
|
||||
docker start cockroach
|
||||
name: Start CockroachDB
|
||||
- uses: ory/ci/checkout@master
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
check-latest: true
|
||||
go-version-file: go.mod
|
||||
- name: Test gen/go package
|
||||
run: go -C gen/go test ./...
|
||||
- name: Test Keto
|
||||
run: |
|
||||
go test -coverprofile coverage.txt ./...
|
||||
grep -v "ory/keto/internal/httpclient" coverage.txt > coverage_cleared.txt
|
||||
mv coverage_cleared.txt coverage.txt
|
||||
- run: |
|
||||
go tool goveralls -service=github -coverprofile=coverage.txt
|
||||
env:
|
||||
COVERALLS_TOKEN: ${{ github.token }}
|
||||
|
||||
test-race:
|
||||
name: Run race tests
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
CGO_ENABLED: "1"
|
||||
steps:
|
||||
- uses: ory/ci/checkout@master
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
check-latest: true
|
||||
go-version-file: go.mod
|
||||
- run: |
|
||||
go test -race -short ./...
|
||||
|
||||
docs-cli:
|
||||
runs-on: ubuntu-latest
|
||||
name: Build CLI docs
|
||||
needs:
|
||||
- test
|
||||
- test-race
|
||||
- validate
|
||||
steps:
|
||||
- uses: ory/ci/docs/cli-next@master
|
||||
with:
|
||||
token: ${{ secrets.ORY_BOT_PAT }}
|
||||
output-dir: docs/keto/cli
|
||||
|
||||
release:
|
||||
name: Generate release
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||
needs:
|
||||
- test
|
||||
- test-race
|
||||
- validate
|
||||
steps:
|
||||
- uses: ory/ci/releaser@master
|
||||
with:
|
||||
token: ${{ secrets.ORY_BOT_PAT }}
|
||||
goreleaser_key: ${{ secrets.GORELEASER_KEY }}
|
||||
cosign_pwd: ${{ secrets.COSIGN_PWD }}
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
newsletter-draft:
|
||||
name: Draft newsletter
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||
needs:
|
||||
- release
|
||||
steps:
|
||||
- uses: ory/ci/newsletter@master
|
||||
with:
|
||||
mailchimp_list_id: f605a41b53
|
||||
mailchmip_segment_id: 6479489
|
||||
mailchimp_api_key: ${{ secrets.MAILCHIMP_API_KEY }}
|
||||
draft: "true"
|
||||
ssh_key: ${{ secrets.ORY_BOT_SSH_KEY }}
|
||||
|
||||
slack-approval-notification:
|
||||
name: Pending approval Slack notification
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||
needs:
|
||||
- newsletter-draft
|
||||
steps:
|
||||
- uses: ory/ci/newsletter/slack-notify@master
|
||||
with:
|
||||
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
|
||||
newsletter-send:
|
||||
name: Send newsletter
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- newsletter-draft
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||
environment: production
|
||||
steps:
|
||||
- uses: ory/ci/newsletter@master
|
||||
with:
|
||||
mailchimp_list_id: f605a41b53
|
||||
mailchmip_segment_id: 6479489
|
||||
mailchimp_api_key: ${{ secrets.MAILCHIMP_API_KEY }}
|
||||
draft: "false"
|
||||
ssh_key: ${{ secrets.ORY_BOT_SSH_KEY }}
|
||||
|
||||
buf:
|
||||
name: Run buf actions
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: ory/ci/checkout@master
|
||||
with:
|
||||
path: current-repo
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
check-latest: true
|
||||
go-version-file: current-repo/go.mod
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "24"
|
||||
- name: Lint and Build
|
||||
run: |
|
||||
make buf
|
||||
working-directory: current-repo
|
||||
- name: Format Docs (required because buf generates the proto docs)
|
||||
run: |
|
||||
make format
|
||||
working-directory: current-repo
|
||||
- name: Push build
|
||||
run: |
|
||||
git config --local user.email "60093411+ory-bot@users.noreply.github.com"
|
||||
git config --local user.name "ory-bot"
|
||||
git add gen
|
||||
git commit -a -m "autogen: build buf" && git push "https://${GITHUB_ACTOR}:${{ secrets.ORY_BOT_PAT }}@github.com/${GITHUB_REPOSITORY}.git" "HEAD:${GITHUB_REF#"refs/heads/"}" || true
|
||||
working-directory: current-repo
|
||||
- if: ${{ github.ref_name == 'master' || github.ref_type == 'tag' }}
|
||||
uses: ory/ci/checkout@master
|
||||
with:
|
||||
repository: ory/docs
|
||||
path: docs
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.ORY_BOT_PAT }}
|
||||
- if: ${{ github.ref_name == 'master' || github.ref_type == 'tag' }}
|
||||
name: Push generated files to ory/docs
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.ORY_BOT_PAT }}
|
||||
run: |
|
||||
echo "---
|
||||
title: Protocol buffers API
|
||||
---
|
||||
|
||||
<!-- This file is generated. Please edit the .proto files instead to update the documentation -->" > "docs/docs/keto/reference/proto-api.mdx"
|
||||
cat "current-repo/gen/doc/buf.md" >> "docs/docs/keto/reference/proto-api.mdx"
|
||||
cd docs
|
||||
if git diff --exit-code; then
|
||||
echo "No changes to commit"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git config --local user.email "60093411+ory-bot@users.noreply.github.com"
|
||||
git config --local user.name "ory-bot"
|
||||
|
||||
git stash
|
||||
git pull --rebase origin master
|
||||
git stash apply
|
||||
git add docs/keto/reference/proto-api.mdx
|
||||
git commit -m "autogen: update Keto protobuf docs"
|
||||
git push origin HEAD:master
|
||||
shell: bash
|
||||
30
.github/workflows/closed_references.yml
vendored
Normal file
30
.github/workflows/closed_references.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
# AUTO-GENERATED, DO NOT EDIT!
|
||||
# Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/common/.github/workflows/closed_references.yml
|
||||
|
||||
name: Closed Reference Notifier
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
issueLimit:
|
||||
description: Max. number of issues to create
|
||||
required: true
|
||||
default: "5"
|
||||
|
||||
jobs:
|
||||
find_closed_references:
|
||||
if: github.repository_owner == 'ory'
|
||||
runs-on: ubuntu-latest
|
||||
name: Find closed references
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "24"
|
||||
- uses: ory/closed-reference-notifier@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issueLabels: upstream,good first issue,help wanted
|
||||
issueLimit: ${{ github.event.inputs.issueLimit || '5' }}
|
||||
72
.github/workflows/codeql-analysis.yml
vendored
Normal file
72
.github/workflows/codeql-analysis.yml
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master, legacy-0.5]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
merge_group:
|
||||
schedule:
|
||||
- cron: "39 6 * * 0"
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: ["go", "javascript"]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||
# Learn more:
|
||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v7
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v4
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v4
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v4
|
||||
59
.github/workflows/conventional_commits.yml
vendored
Normal file
59
.github/workflows/conventional_commits.yml
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
# AUTO-GENERATED, DO NOT EDIT!
|
||||
# Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/common/.github/workflows/conventional_commits.yml
|
||||
|
||||
name: Conventional commits
|
||||
|
||||
# This GitHub CI Action enforces that pull request titles follow conventional commits.
|
||||
# More info at https://www.conventionalcommits.org.
|
||||
#
|
||||
# The Ory-wide defaults for commit titles and scopes are below.
|
||||
# Your repository can add/replace elements via a configuration file at the path below.
|
||||
# More info at https://github.com/ory/ci/blob/master/conventional_commit_config/README.md
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- edited
|
||||
- opened
|
||||
- ready_for_review
|
||||
- reopened
|
||||
# pull_request: # for debugging, uses config in local branch but supports only Pull Requests from this repo
|
||||
|
||||
jobs:
|
||||
main:
|
||||
name: Validate PR title
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- id: config
|
||||
uses: ory/ci/conventional_commit_config@master
|
||||
with:
|
||||
config_path: .github/conventional_commits.json
|
||||
default_types: |
|
||||
feat
|
||||
fix
|
||||
revert
|
||||
docs
|
||||
style
|
||||
refactor
|
||||
test
|
||||
build
|
||||
autogen
|
||||
security
|
||||
ci
|
||||
chore
|
||||
default_scopes: |
|
||||
deps
|
||||
docs
|
||||
default_require_scope: false
|
||||
- uses: amannn/action-semantic-pull-request@v6
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
types: ${{ steps.config.outputs.types }}
|
||||
scopes: ${{ steps.config.outputs.scopes }}
|
||||
requireScope: ${{ steps.config.outputs.requireScope }}
|
||||
subjectPattern: ^(?![A-Z]).+$
|
||||
subjectPatternError: |
|
||||
The subject should start with a lowercase letter, yours is uppercase:
|
||||
"{subject}"
|
||||
114
.github/workflows/cve-scan.yaml
vendored
Normal file
114
.github/workflows/cve-scan.yaml
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
# AUTO-GENERATED, DO NOT EDIT!
|
||||
# Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/server/.github/workflows/cve-scan.yaml
|
||||
|
||||
name: Docker Image Scanners
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- "master"
|
||||
tags:
|
||||
- "v*.*.*"
|
||||
pull_request:
|
||||
branches:
|
||||
- "master"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
jobs:
|
||||
scanners:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
- name: Setup Env
|
||||
id: vars
|
||||
shell: bash
|
||||
run: |
|
||||
# Store values in local variables
|
||||
SHA_SHORT=$(git rev-parse --short HEAD)
|
||||
REPO_NAME=${{ github.event.repository.name }}
|
||||
|
||||
IMAGE_NAME="oryd/${REPO_NAME}:${SHA_SHORT}"
|
||||
|
||||
# Output values for debugging
|
||||
echo "Values to be set:"
|
||||
echo "SHA_SHORT: ${SHA_SHORT}"
|
||||
echo "REPO_NAME: ${REPO_NAME}"
|
||||
echo "IMAGE_NAME: ${IMAGE_NAME}"
|
||||
|
||||
# Set GitHub Environment variables
|
||||
echo "SHA_SHORT=${SHA_SHORT}" >> "${GITHUB_ENV}"
|
||||
echo "IMAGE_NAME=${IMAGE_NAME}" >> "${GITHUB_ENV}"
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v4
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v4
|
||||
with:
|
||||
driver: docker
|
||||
- name: Build images
|
||||
shell: bash
|
||||
run: |
|
||||
IMAGE_TAG="${{ env.SHA_SHORT }}" make docker
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v4
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Anchore Scanner
|
||||
uses: anchore/scan-action@v7
|
||||
id: grype-scan
|
||||
with:
|
||||
image: ${{ env.IMAGE_NAME }}
|
||||
fail-build: true
|
||||
severity-cutoff: high
|
||||
add-cpes-if-none: true
|
||||
- name: Inspect action SARIF report
|
||||
shell: bash
|
||||
if: ${{ always() }}
|
||||
run: |
|
||||
echo "::group::Anchore Scan Details"
|
||||
jq '.runs[0].results' ${{ steps.grype-scan.outputs.sarif }}
|
||||
echo "::endgroup::"
|
||||
- name: Anchore upload scan SARIF report
|
||||
if: always()
|
||||
uses: github/codeql-action/upload-sarif@v4
|
||||
with:
|
||||
sarif_file: ${{ steps.grype-scan.outputs.sarif }}
|
||||
- name: Kubescape scanner
|
||||
uses: kubescape/github-action@main
|
||||
id: kubescape
|
||||
with:
|
||||
image: ${{ env.IMAGE_NAME }}
|
||||
verbose: true
|
||||
format: pretty-printer
|
||||
# can't whitelist CVE yet: https://github.com/kubescape/kubescape/pull/1568
|
||||
severityThreshold: critical
|
||||
- name: Dockle Linter
|
||||
uses: erzz/dockle-action@v1
|
||||
if: ${{ always() }}
|
||||
with:
|
||||
image: ${{ env.IMAGE_NAME }}
|
||||
exit-code: 42
|
||||
failure-threshold: high
|
||||
- name: Hadolint
|
||||
uses: hadolint/hadolint-action@v3.3.0
|
||||
id: hadolint
|
||||
if: ${{ always() }}
|
||||
with:
|
||||
dockerfile: .docker/Dockerfile-build
|
||||
verbose: true
|
||||
format: "json"
|
||||
failure-threshold: "error"
|
||||
- name: View Hadolint results
|
||||
if: ${{ always() }}
|
||||
shell: bash
|
||||
run: |
|
||||
echo "::group::Hadolint Scan Details"
|
||||
echo "${HADOLINT_RESULTS}" | jq '.'
|
||||
echo "::endgroup::"
|
||||
22
.github/workflows/format.yml
vendored
Normal file
22
.github/workflows/format.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Format
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
merge_group:
|
||||
|
||||
env:
|
||||
CGO_ENABLED: "0"
|
||||
|
||||
jobs:
|
||||
format:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
check-latest: true
|
||||
go-version-file: go.mod
|
||||
- run: make format
|
||||
- name: Indicate formatting issues
|
||||
run: git diff HEAD --exit-code --color
|
||||
25
.github/workflows/labels.yml
vendored
Normal file
25
.github/workflows/labels.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
# AUTO-GENERATED, DO NOT EDIT!
|
||||
# Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/common/.github/workflows/labels.yml
|
||||
|
||||
name: Synchronize Issue Labels
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
milestone:
|
||||
if: github.repository_owner == 'ory'
|
||||
name: Synchronize Issue Labels
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
- name: Synchronize Issue Labels
|
||||
uses: ory/label-sync-action@v0
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
dry: false
|
||||
forced: true
|
||||
33
.github/workflows/milestone.yml
vendored
Normal file
33
.github/workflows/milestone.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
# AUTO-GENERATED, DO NOT EDIT!
|
||||
# Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/server/.github/workflows/milestone.yml
|
||||
|
||||
name: Generate and Publish Milestone Document
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
milestone:
|
||||
if: github.repository_owner == 'ory'
|
||||
name: Generate and Publish Milestone Document
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
token: ${{ secrets.TOKEN_PRIVILEGED }}
|
||||
- name: Milestone Documentation Generator
|
||||
uses: ory/milestone-action@v0
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
outputFile: docs/docs/milestones.md
|
||||
- name: Commit Milestone Documentation
|
||||
uses: EndBug/add-and-commit@v10.0.0
|
||||
with:
|
||||
message: "autogen(docs): update milestone document"
|
||||
author_name: aeneasr
|
||||
author_email: "3372410+aeneasr@users.noreply.github.com"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.TOKEN_PRIVILEGED }}
|
||||
40
.github/workflows/npm_publish_grpc_client.yml
vendored
Normal file
40
.github/workflows/npm_publish_grpc_client.yml
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
name: Publish gRPC client to npm
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
required: true
|
||||
description: The version to release
|
||||
|
||||
jobs:
|
||||
btp:
|
||||
runs-on: ubuntu-latest
|
||||
name: Publish
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "24"
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
- run: sudo npm i -g npm@7
|
||||
- name: Bump version
|
||||
run: |-
|
||||
cd gen/es
|
||||
jq '.version = (env.RELEASE_VERSION | sub("(^refs/tags/v)|(^v)"; ""))' package.json > package.json.tmp \
|
||||
&& mv package.json.tmp package.json
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.version || github.ref }}
|
||||
- run: |-
|
||||
git config --global user.email "60093411+ory-bot@users.noreply.github.com"
|
||||
git config --global user.name "ory-bot"
|
||||
git add gen/es/package.json
|
||||
git commit -m "autogen: bump node gRPC client version"
|
||||
- run: |-
|
||||
cd gen/es
|
||||
npm publish --access public
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN_AENEASR }}
|
||||
40
.github/workflows/npm_publish_typelib.yml
vendored
Normal file
40
.github/workflows/npm_publish_typelib.yml
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
name: Publish OPL typelib to npm
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
required: true
|
||||
description: The version to release
|
||||
|
||||
jobs:
|
||||
btp:
|
||||
runs-on: ubuntu-latest
|
||||
name: Publish
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "24"
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
- run: sudo npm i -g npm@10
|
||||
- name: Bump version
|
||||
run: |-
|
||||
cd contrib/namespace-type-lib
|
||||
jq '.version = (env.RELEASE_VERSION | sub("(^refs/tags/v)|(^v)"; ""))' package.json > package.json.tmp \
|
||||
&& mv package.json.tmp package.json
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.version || github.ref }}
|
||||
- run: |-
|
||||
git config --global user.email "60093411+ory-bot@users.noreply.github.com"
|
||||
git config --global user.name "ory-bot"
|
||||
git add contrib/namespace-type-lib/package.json
|
||||
git commit -m "autogen: bump OPL typelib"
|
||||
- run: |-
|
||||
cd contrib/namespace-type-lib
|
||||
npm publish --access public
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN_AENEASR }}
|
||||
30
.github/workflows/pm.yml
vendored
Normal file
30
.github/workflows/pm.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Synchronize with product board
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- opened
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- ready_for_review
|
||||
|
||||
jobs:
|
||||
automate:
|
||||
if: github.event.pull_request.head.repo.fork == false
|
||||
name: Add issue to project
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: ory-corp/planning-automation-action@v0.2
|
||||
with:
|
||||
organization: ory-corp
|
||||
project: 5
|
||||
token: ${{ secrets.ORY_BOT_PAT }}
|
||||
todoLabel: "Needs Triage"
|
||||
statusName: Status
|
||||
prStatusValue: "Needs Triage"
|
||||
issueStatusValue: "Needs Triage"
|
||||
includeEffort: "false"
|
||||
monthlyMilestoneName: Roadmap Monthly
|
||||
quarterlyMilestoneName: Roadmap
|
||||
41
.github/workflows/release-go-grpc-client.yml
vendored
Normal file
41
.github/workflows/release-go-grpc-client.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: Release the go gRPC client as `gen/go/$VERSION`
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description:
|
||||
The version to release. Should be a patch of the latest Keto release.
|
||||
required: true
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
|
||||
env:
|
||||
CGO_ENABLED: "0"
|
||||
|
||||
jobs:
|
||||
tag:
|
||||
# this is set on dispatch this should prevent the action from triggering itself
|
||||
if: github.event.inputs.version || !startsWith(github.ref, 'gen/go/')
|
||||
runs-on: ubuntu-latest
|
||||
name: Publish
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
check-latest: true
|
||||
go-version-file: go.mod
|
||||
- name: Download dependencies
|
||||
run: go -C gen/go mod tidy
|
||||
- name: Test
|
||||
run: go -C gen/go test ./...
|
||||
- name: Create git tag
|
||||
run: |
|
||||
git config --global user.email "60093411+ory-bot@users.noreply.github.com"
|
||||
git config --global user.name "ory-bot"
|
||||
RELEASE_VERSION="$(sed 's#^refs/tags/##' <(echo "$RELEASE_REF"))"
|
||||
git tag -a "gen/go/$RELEASE_VERSION" -m "Release $RELEASE_VERSION of the go gRPC Client. See CHANGELOG.md for more info."
|
||||
git push origin "gen/go/$RELEASE_VERSION"
|
||||
env:
|
||||
RELEASE_REF: ${{ github.event.inputs.version || github.ref }}
|
||||
30
.github/workflows/single-table-migration-e2e.yml
vendored
Normal file
30
.github/workflows/single-table-migration-e2e.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name:
|
||||
Run full e2e test of the migration to single table persister (see
|
||||
https://github.com/ory/keto/issues/628)
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- feat/persistence-migration-path
|
||||
|
||||
env:
|
||||
CGO_ENABLED: "0"
|
||||
|
||||
jobs:
|
||||
test-migration:
|
||||
runs-on: ubuntu-latest
|
||||
name: Test Migration
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
check-latest: true
|
||||
go-version-file: go.mod
|
||||
- name: Run test script
|
||||
run: ./scripts/single-table-migration-e2e.sh
|
||||
- uses: actions/upload-artifact@v7
|
||||
if: failure()
|
||||
with:
|
||||
name: sqlite-db
|
||||
path: migrate_e2e.sqlite
|
||||
47
.github/workflows/stale.yml
vendored
Normal file
47
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
# AUTO-GENERATED, DO NOT EDIT!
|
||||
# Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/common/.github/workflows/stale.yml
|
||||
|
||||
name: "Close Stale Issues"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
if: github.repository_owner == 'ory'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v10
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: |
|
||||
Hello contributors!
|
||||
|
||||
I am marking this issue as stale as it has not received any engagement from the community or maintainers for a year. That does not imply that the issue has no merit! If you feel strongly about this issue
|
||||
|
||||
- open a PR referencing and resolving the issue;
|
||||
- leave a comment on it and discuss ideas on how you could contribute towards resolving it;
|
||||
- leave a comment and describe in detail why this issue is critical for your use case;
|
||||
- open a new issue with updated details and a plan for resolving the issue.
|
||||
|
||||
Throughout its lifetime, Ory has received over 10.000 issues and PRs. To sustain that growth, we need to prioritize and focus on issues that are important to the community. A good indication of importance, and thus priority, is activity on a topic.
|
||||
|
||||
Unfortunately, [burnout](https://www.jeffgeerling.com/blog/2016/why-i-close-prs-oss-project-maintainer-notes) has become a [topic](https://opensource.guide/best-practices/#its-okay-to-hit-pause) of [concern](https://docs.brew.sh/Maintainers-Avoiding-Burnout) amongst open-source projects.
|
||||
|
||||
It can lead to severe personal and health issues as well as [opening](https://haacked.com/archive/2019/05/28/maintainer-burnout/) catastrophic [attack vectors](https://www.gradiant.org/en/blog/open-source-maintainer-burnout-as-an-attack-surface/).
|
||||
|
||||
The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone.
|
||||
|
||||
If this issue was marked as stale erroneously you can exempt it by adding the `backlog` label, assigning someone, or setting a milestone for it.
|
||||
|
||||
Thank you for your understanding and to anyone who participated in the conversation! And as written above, please do participate in the conversation if this topic is important to you!
|
||||
|
||||
Thank you 🙏✌️
|
||||
stale-issue-label: "stale"
|
||||
exempt-issue-labels: "bug,blocking,docs,backlog"
|
||||
days-before-stale: 365
|
||||
days-before-close: 30
|
||||
exempt-milestones: true
|
||||
exempt-assignees: true
|
||||
only-pr-labels: "stale"
|
||||
Reference in New Issue
Block a user