Skip to content

feat(auth-broker): implement auth-broker package #11967

feat(auth-broker): implement auth-broker package

feat(auth-broker): implement auth-broker package #11967

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
detect_files_changed:
runs-on: ubuntu-latest
outputs:
identity_mapper: ${{ steps.filter.outputs.identity_mapper }}
steps:
- uses: actions/checkout@v6
- name: Detect detect files changed
id: filter
uses: dorny/paths-filter@v3
with:
filters: |
identity_mapper:
- 'backend/identity-mapper/**'
helm_lint:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_helm_lint.yaml
kyverno_policy:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_kyverno_policy.yaml
sessionspaces_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_sessionspaces_code.yaml
sessionspaces_container:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: sessionspaces_code
uses: ./.github/workflows/_sessionspaces_container.yaml
permissions:
contents: read
packages: write
graph_proxy_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_graph_proxy_code.yaml
graph_proxy_schema:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: graph_proxy_code
uses: ./.github/workflows/_graph_proxy_schema.yaml
graph_proxy_container:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: graph_proxy_code
uses: ./.github/workflows/_graph_proxy_container.yaml
permissions:
contents: read
packages: write
auth_daemon_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_auth_daemon_code.yaml
auth_daemon_container:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: auth_daemon_code
uses: ./.github/workflows/_auth_daemon_container.yaml
permissions:
contents: read
packages: write
auth_broker_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_auth_broker_code.yaml
auth_broker_container:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: auth_broker_code
uses: ./.github/workflows/_auth_broker_container.yaml
permissions:
contents: read
packages: write
auth_gateway_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_auth_gateway_code.yaml
auth_gateway_container:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: auth_gateway_code
uses: ./.github/workflows/_auth_gateway_container.yaml
permissions:
contents: read
packages: write
identity_mapper_code:
needs: detect_files_changed
if: needs.detect_files_changed.outputs.identity_mapper == 'true' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository)
uses: ./.github/workflows/_identity_mapper_code.yaml
identity_mapper_container:
needs: detect_files_changed
if: (startsWith(github.ref, 'refs/tags/identity-mapper@') || needs.detect_files_changed.outputs.identity_mapper == 'true') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository)
uses: ./.github/workflows/_identity_mapper_container.yaml
permissions:
contents: read
packages: write
auth_core_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_auth_core_code.yaml
supergraph_update:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: graph_proxy_schema
runs-on: ubuntu-latest
steps:
- name: Update Supergraph
uses: diamondlightsource/graph-federation@main
with:
name: workflows
routing-url: https://workflows.diamond.ac.uk/graphql
subgraph-schema-artifact: graph-proxy
subgraph-schema-filename: workflows.graphql
subscription-url: wss://workflows.diamond.ac.uk/graphql/ws
subscription-protocol: ws
github-app-id: 1010045
github-app-private-key: ${{ secrets.GRAPH_FEDERATOR }}
publish: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/graph-proxy@') }}
frontend_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: supergraph_update
uses: ./.github/workflows/_frontend_code.yaml
dashboard_container:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
needs: frontend_code
uses: ./.github/workflows/_dashboard_container.yaml
permissions:
contents: read
packages: write
github_pages:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_github_pages.yaml
permissions:
pages: write
id-token: write
commit_lint:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_commit_lint.yaml
permissions:
contents: read
pull-requests: read
release_please:
if: github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main')
uses: ./.github/workflows/_release_please.yaml
secrets:
release_please_token: ${{ secrets.RELEASE_PLEASE_CLIENT_SECRET }}
permissions:
contents: write
pull-requests: write
telemetry_code:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_telemetry_code.yaml
dev_resources:
# Deduplicate jobs from pull requests and branch pushes within the same repo.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_dev_resources.yaml
cli_code:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_cli_code.yaml
lint_workflows:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
runs-on: ubuntu-latest
steps:
- name: Lint Workflows
uses: diamondlightsource/workflows@main