Skip to content

Commit

Permalink
Merge branch 'main' into 131-add-baseurl-in-service-callouts-href-in-…
Browse files Browse the repository at this point in the history
…pr-preview-environments
  • Loading branch information
MJZLOTR authored Dec 3, 2024
2 parents 3255358 + 61d7221 commit 5d464c1
Show file tree
Hide file tree
Showing 103 changed files with 4,806 additions and 1,185 deletions.
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Admins must approve changes to docs-next repository
/docs/ @opentelekomcloud/ac-content-reviewer
42 changes: 42 additions & 0 deletions .github/workflows/automerge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: automerge

on:
pull_request:
types:
- labeled
- unlabeled
- synchronize
- opened
- edited
- ready_for_review
- reopened
- unlocked
pull_request_review:
types:
- submitted
check_suite:
types:
- completed
status: {}

jobs:
automerge:
runs-on: ubuntu-latest
if: >
contains(github.event.pull_request.labels.*.name, 'gate')
environment: github
steps:
- name: Create GitHub App Token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_KEY }}

- id: automerge
name: automerge
uses: pascalgn/automerge-action@v0.16.3
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
MERGE_LABELS: "gate"
MERGE_METHOD: "squash"
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: pull-requests-preview-deployment
name: Manage Pull Request Preview Instances

on:
pull_request:
Expand All @@ -11,13 +11,16 @@ on:
concurrency: preview-${{ github.ref }}

jobs:
deploy-preview:
environment: pull-requests-preview
deploy-ephemeral-preview:
name: Deploy or Remove Ephemeral Preview
environment:
name: pull-requests-preview
url: 'https://${{ github.repository_owner }}.github.io${{ vars.DOCUSAURUS_BASE_URL }}pr-${{ github.event.pull_request.number }}'
runs-on: ubuntu-20.04

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Get Commit Hash
id: commit_hash
Expand Down
135 changes: 135 additions & 0 deletions .github/workflows/build-publish-production.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
name: Build and Deploy Production Docker Images

on:
push:
tags:
- "v*.*.*"
workflow_dispatch:

jobs:
build-stable:
name: Build Production Artifacts
environment:
name: stable
runs-on: ubuntu-latest
outputs:
image_version: ${{ env.IMAGE_SEMVER }}
commit_hash: ${{ steps.export_commit_hash.outputs.commit_hash }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: 'lts/*'

- name: Install NodeJS Dependencies
run: npm install

- name: Get Commit Hash
id: commit_hash
uses: prompt/actions-commit-hash@v3

- name: Build Version Tag
id: build_version_tag
run: echo "IMAGE_SEMVER=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV

- name: Export Commit Hash
id: export_commit_hash
run: echo "commit_hash=${{ steps.commit_hash.outputs.short }}" >> $GITHUB_OUTPUT

- name: Build Container Image Metadata
id: meta
uses: docker/metadata-action@v5
with:
# list of Docker images to use as base name for tags
images: |
${{ vars.REGISTRY }}/${{ vars.REGISTRY_ORG }}/${{ vars.IMG_NAME }}
# generate Docker tags based on the following events/attributes
tags: |
type=semver,pattern=v{{major}}.{{minor}}.{{patch}}
type=raw,value=latest

- name: Build App
env:
REACT_APP_VERSION: ${{ env.IMAGE_SEMVER }}
REACT_APP_DOCS_NEXT_HOST: ${{ vars.DOCS_NEXT_HOST }}
REACT_APP_DOCS_NEXT_ORG: ${{ vars.DOCS_NEXT_ORG }}
REACT_APP_DOCUSAURUS_BASE_URL: ${{ vars.DOCUSAURUS_BASE_URL }}
REACT_APP_TYPESENSE_PROTOCOL: ${{ vars.TYPESENSE_PROTOCOL }}
REACT_APP_TYPESENSE_HOST: ${{ vars.TYPESENSE_HOST }}
REACT_APP_TYPESENSE_PORT: ${{ vars.TYPESENSE_PORT }}
REACT_APP_TYPESENSE_API_KEY: ${{ secrets.TYPESENSE_SEARCH_KEY }}
UMAMI_WEBSITE_ID: ${{ vars.UMAMI_WEBSITE_ID }}
UMAMI_ANALYTICS_DOMAIN: ${{ vars.UMAMI_ANALYTICS_DOMAIN }}
UMAMI_DATAHOST_URL: ${{ vars.UMAMI_DATAHOST_URL }}
UMAMI_DATA_DOMAIN: ${{ vars.UMAMI_DATA_DOMAINS }}
run: npm run build

- name: Login to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: Setup Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.7.1

- name: Build and Push (Docker Image)
id: docker_build
uses: docker/build-push-action@v6.9.0
with:
context: ./
file: ./Dockerfile
provenance: false
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
annotations: ${{ steps.meta.outputs.annotations }}

update-helm-charts:
needs: [build-stable]
environment: stable
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write

steps:
# - name: Create GitHub App Token
# id: app-token
# uses: actions/create-github-app-token@v1
# with:
# app-id: ${{ secrets.APP_ID }}
# private-key: ${{ secrets.APP_KEY }}
- name: Checkout Charts Repo
uses: actions/checkout@v4
with:
repository: "${{ vars.DOCS_NEXT_CHARTS_ORG }}/${{ vars.DOCS_NEXT_CHARTS_REPO }}"
token: ${{ secrets.DOCS_NEXT_TOKEN }}
- name: Commit Changes
env:
image: ${{ vars.REGISTRY }}/${{ vars.REGISTRY_ORG }}/${{ vars.IMG_NAME }}
tag: ${{ needs.build-stable.outputs.image_version }}
run: |
git config --global user.name 'otcbot'
git config --global user.email 'otc_ecosystem_squad@t-systems.com'
sed -i 's|^version: .*|version: 0.3.${{github.run_number}}|' ./charts/docusaurus/Chart.yaml
sed -i 's|^appVersion: .*|appVersion: ${{ env.tag }}|' ./charts/docusaurus/Chart.yaml
sed -i 's|^tag: .*|tag: ${{ env.tag }}|' ./charts/docusaurus/values-prod.yaml
sed -i 's|^image: .*|image: ${{ env.image }}|' ./charts/docusaurus/values-prod.yaml
git commit -am "Automatic commit from GitHub Actions triggered by action ${{github.run_number}}"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
env:
remote_pr_branch: 'release/production-${{ needs.build-stable.outputs.image_version }}'
with:
title: ${{ env.remote_pr_branch }}
token: ${{ secrets.DOCS_NEXT_TOKEN }}
branch: ${{ env.remote_pr_branch }}

133 changes: 133 additions & 0 deletions .github/workflows/build-publish-staging.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: Build and Deploy Staging Docker Images

on:
push:
branches:
- main
paths-ignore:
- '**/README.md'
- '**/CONTRIBUTING.md'
- '**/CONFIGURATION.md'
- '**/.devcontainer/**'
- "**/.github/workflows/**"
workflow_dispatch:

jobs:
build-preview:
name: Build Staging Artifacts
environment:
name: preview
runs-on: ubuntu-latest
outputs:
image_version: ${{ steps.build_image_tag.outputs.image_version }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: 'lts/*'

- name: Install NodeJS Dependencies
run: npm install

- name: Get Commit Hash
id: commit_hash
uses: prompt/actions-commit-hash@v3

- name: Get Current Date
id: date
run: echo "today=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT

- name: Build Image Tag
id: build_image_tag
run: echo "image_version=${{ steps.date.outputs.today }}.${{github.run_number}}.0-${{ steps.commit_hash.outputs.short }}" >> $GITHUB_OUTPUT

- name: Build Container Image Metadata
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ vars.REGISTRY }}/${{ vars.REGISTRY_ORG }}/${{ vars.IMG_NAME }}
tags: |
type=raw,value=${{ steps.build_image_tag.outputs.image_version }}
- name: Build App
env:
REACT_APP_VERSION: ${{ steps.build_image_tag.outputs.image_version }}
REACT_APP_DOCS_NEXT_HOST: ${{ vars.DOCS_NEXT_HOST }}
REACT_APP_DOCS_NEXT_ORG: ${{ vars.DOCS_NEXT_ORG }}
REACT_APP_DOCUSAURUS_BASE_URL: ${{ vars.DOCUSAURUS_BASE_URL }}
REACT_APP_TYPESENSE_PROTOCOL: ${{ vars.TYPESENSE_PROTOCOL }}
REACT_APP_TYPESENSE_HOST: ${{ vars.TYPESENSE_HOST }}
REACT_APP_TYPESENSE_PORT: ${{ vars.TYPESENSE_PORT }}
REACT_APP_TYPESENSE_API_KEY: ${{ secrets.TYPESENSE_SEARCH_KEY }}
UMAMI_WEBSITE_ID: ${{ vars.UMAMI_WEBSITE_ID }}
UMAMI_ANALYTICS_DOMAIN: ${{ vars.UMAMI_ANALYTICS_DOMAIN }}
UMAMI_DATAHOST_URL: ${{ vars.UMAMI_DATAHOST_URL }}
UMAMI_DATA_DOMAIN: ${{ vars.UMAMI_DATA_DOMAINS }}
run: npm run build

- name: Login to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: Setup Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.7.1

- name: Build and Push (Docker Image)
id: docker_build
uses: docker/build-push-action@v6.9.0
with:
context: ./
file: ./Dockerfile
provenance: false
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
annotations: ${{ steps.meta.outputs.annotations }}

update-helm-charts:
needs: [build-preview]
environment: preview
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write

steps:
# - name: Create GitHub App Token
# id: app-token
# uses: actions/create-github-app-token@v1
# with:
# app-id: ${{ secrets.APP_ID }}
# private-key: ${{ secrets.APP_KEY }}
- name: Checkout Charts Repo
uses: actions/checkout@v4
with:
repository: "${{ vars.DOCS_NEXT_CHARTS_ORG }}/${{ vars.DOCS_NEXT_CHARTS_REPO }}"
token: ${{ secrets.DOCS_NEXT_TOKEN }}
- name: Commit Changes
env:
image: ${{ vars.REGISTRY }}/${{ vars.REGISTRY_ORG }}/${{ vars.IMG_NAME }}
tag: ${{ needs.build-preview.outputs.image_version }}
run: |
git config --global user.name 'otcbot'
git config --global user.email 'otc_ecosystem_squad@t-systems.com'
sed -i 's|^tag: .*|tag: ${{ env.tag }}|' ./charts/docusaurus/values-stg.yaml
sed -i 's|^image: .*|image: ${{ env.image }}|' ./charts/docusaurus/values-stg.yaml
git commit -am "Automatic commit from GitHub Actions triggered by action ${{github.run_number}}"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
env:
remote_pr_branch: 'release/staging-${{ needs.build-preview.outputs.image_version }}'
with:
title: ${{ env.remote_pr_branch }}
token: ${{ secrets.DOCS_NEXT_TOKEN }}
branch: ${{ env.remote_pr_branch }}
23 changes: 23 additions & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: check

on:
pull_request:
branches: [ '*' ]

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'yarn'

- name: Install dependencies
run: yarn install

- name: Run typecheck
run: yarn lint
Loading

0 comments on commit 5d464c1

Please sign in to comment.