Skip to content

Update print statement from 'Hello' to 'Goodbye' - #39

Merged
Sazwanismail merged 1 commit into
mainfrom
Sazwanismail-patch-24
Sep 30, 2026
Merged

Sazwanismail merged 1 commit into
mainfrom
Sazwanismail-patch-24

Conversation

@Sazwanismail

@Sazwanismail Sazwanismail commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

User description

Baik, berikut adalah Lagi: Dokumen Tambahan 3 – Kes Penggunaan Spesifik & Integrasi Lanjutan. Dokumen ini merangkumi topik-topik yang belum disentuh secara mendalam sebelum ini, seperti pembangunan aplikasi mudah alih (mobile), permainan (game), sains data (data science), AI/ML, ujian API, ujian visual, kebolehaksesan (accessibility), penyetempatan (localization), pemantauan (monitoring), dan ChatOps.


📘 DOKUMEN TAMBAHAN 3: KES PENGGUNAAN SPESIFIK

BAHAGIAN 41: MOBILE APP DEVELOPMENT

41.1 Flutter

name: Flutter CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.19.0'
          channel: 'stable'
      - run: flutter pub get
      - run: flutter analyze
      - run: flutter test
      - run: flutter build apk --release
      - uses: actions/upload-artifact@v4
        with:
          name: release-apk
          path: build/app/outputs/flutter-apk/app-release.apk

41.2 React Native

name: React Native CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - run: npm run lint
      - run: npm test
      - name: Build Android
        run: |
          cd android
          ./gradlew assembleRelease
      - uses: actions/upload-artifact@v4
        with:
          name: app-release
          path: android/app/build/outputs/apk/release/app-release.apk

41.3 Fastlane (iOS & Android)

- uses: maierj/fastlane-action@v3.1.0
  with:
    lane: 'beta'
    subdirectory: 'ios'

41.4 .NET MAUI

- uses: actions/setup-dotnet@v4
  with:
    dotnet-version: '8.0.x'
- run: dotnet workload install maui
- run: dotnet build -f net8.0-android -c Release

BAHAGIAN 42: GAME DEVELOPMENT

42.1 Unity

name: Unity CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          lfs: true
      - uses: game-ci/unity-builder@v4
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
        with:
          targetPlatform: WebGL
      - uses: actions/upload-artifact@v4
        with:
          name: build
          path: build

42.2 Unreal Engine

- uses: actions/checkout@v4
- name: Build Unreal
  run: |
    ./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project=MyProject.uproject -noP4 -platform=Linux -clientconfig=Development -cook -build -stage -pak -archive -archivedirectory=./archive

42.3 Godot

- uses: firebelley/godot-export@v5.0.0
  with:
    godot_executable_download_url: https://downloads.tuxfamily.org/godotengine/4.2.1/Godot_v4.2.1-stable_linux.x86_64.zip
    godot_export_templates_download_url: https://downloads.tuxfamily.org/godotengine/4.2.1/Godot_v4.2.1-stable_export_templates.tpz
    relative_project_path: ./
    archive_output: true

BAHAGIAN 43: DATA SCIENCE & MACHINE LEARNING

43.1 Jupyter Notebook Testing

- run: pip install nbval
- run: pytest --nbval notebooks/

43.2 DVC (Data Version Control)

- uses: iterative/setup-dvc@v1
- run: dvc pull
- run: dvc repro
- run: dvc push

43.3 MLflow Tracking

- run: |
    mlflow run . -P alpha=0.5
    mlflow models serve -m runs:/<run_id>/model -p 5000 &

43.4 Weights & Biases (W&B)

- uses: wandb/wandb-action@v1
  with:
    wandb_api_key: ${{ secrets.WANDB_API_KEY }}

43.5 AWS SageMaker

- uses: aws-actions/configure-aws-credentials@v4
  with:
    role-to-assume: arn:aws:iam::123456789012:role/SageMakerRole
    aws-region: us-east-1
- run: |
    python train.py
    aws sagemaker create-training-job ...

43.6 Google Vertex AI

- uses: google-github-actions/auth@v2
  with:
    workload_identity_provider: ${{ secrets.GCP_WIF }}
    service_account: ${{ secrets.GCP_SA }}
- run: gcloud ai custom-jobs create ...

43.7 Azure ML

- uses: azure/login@v2
  with:
    creds: ${{ secrets.AZURE_CREDENTIALS }}
- run: az ml job create -f job.yml

BAHAGIAN 44: API TESTING & CONTRACT TESTING

44.1 Newman (Postman CLI)

- run: npm install -g newman
- run: newman run collection.json -e environment.json --reporters cli,json

44.2 Schemathesis (OpenAPI Fuzzing)

- run: pip install schemathesis
- run: schemathesis run https://api.example.com/openapi.json --checks all

44.3 Pact (Contract Testing)

- uses: pactflow/actions@v1
  with:
    broker_url: ${{ secrets.PACT_BROKER_URL }}
    broker_token: ${{ secrets.PACT_BROKER_TOKEN }}
    consumer: my-consumer
    provider: my-provider

44.4 Dredd (API Blueprint)

- run: npm install -g dredd
- run: dredd apiary.apib http://localhost:3000

BAHAGIAN 45: VISUAL REGRESSION & ACCESSIBILITY TESTING

45.1 Percy (Visual Regression)

- uses: percy/exec-action@v0.5.0
  with:
    custom-command: npm test
  env:
    PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}

45.2 Chromatic (Storybook)

- uses: chromaui/action@v11
  with:
    projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}

45.3 axe-core (Accessibility)

- run: npm install -g @axe-core/cli
- run: axe http://localhost:3000 --exit

45.4 Pa11y (Accessibility)

- run: npm install -g pa11y
- run: pa11y http://localhost:3000

45.5 Lighthouse CI (Performance & SEO)

- uses: treosh/lighthouse-ci-action@v11
  with:
    urls: |
      https://example.com
      https://example.com/about
    budgetPath: ./budget.json
    uploadArtifacts: true

BAHAGIAN 46: LOCALIZATION & TRANSLATION

46.1 Crowdin

- uses: crowdin/github-action@v2
  with:
    upload_sources: true
    download_translations: true
    project_id: ${{ secrets.CROWDIN_PROJECT_ID }}
    token: ${{ secrets.CROWDIN_TOKEN }}

46.2 Lokalise

- uses: lokalise/lokalise-cli-2-action@v2
  with:
    api_token: ${{ secrets.LOKALISE_TOKEN }}
    project_id: ${{ secrets.LOKALISE_PROJECT_ID }}
    command: export

46.3 i18n Linting

- run: npx i18next-parser
- run: npx eslint --ext .js,.jsx,.ts,.tsx src/

BAHAGIAN 47: MONITORING & OBSERVABILITY

47.1 Datadog

- uses: datadog/synthetics-ci-github-action@v1
  with:
    api_key: ${{ secrets.DATADOG_API_KEY }}
    app_key: ${{ secrets.DATADOG_APP_KEY }}
    test_search_query: 'tag:e2e-tests'

47.2 New Relic

- uses: newrelic/deployment-marker-action@v2
  with:
    apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
    accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
    applicationId: ${{ secrets.NEW_RELIC_APP_ID }}
    revision: ${{ github.sha }}

47.3 Prometheus & Grafana

- run: |
    docker run -d -p 9090:9090 prom/prometheus
    docker run -d -p 3000:3000 grafana/grafana

47.4 Sentry (Release Tracking)

- uses: getsentry/action-release@v1
  env:
    SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
    SENTRY_ORG: my-org
    SENTRY_PROJECT: my-project
  with:
    environment: production

BAHAGIAN 48: CHATOPS & NOTIFICATIONS

48.1 Slack

- uses: slackapi/slack-github-action@v1.26.0
  with:
    payload: |
      {
        "text": "Deploy berjaya untuk ${{ github.sha }}"
      }
  env:
    SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

48.2 Microsoft Teams

- uses: aliencube/microsoft-teams-actions@v0.8.0
  with:
    webhook_uri: ${{ secrets.TEAMS_WEBHOOK_URI }}
    title: 'Deploy Status'
    summary: 'Deploy ${{ job.status }}'
    text: 'Commit ${{ github.sha }}'

48.3 Discord

- uses: Ilshidur/action-discord@master
  env:
    DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
  with:
    args: 'Deploy ${{ job.status }} untuk ${{ github.sha }}'

48.4 Telegram

- uses: appleboy/telegram-action@master
  with:
    to: ${{ secrets.TELEGRAM_TO }}
    token: ${{ secrets.TELEGRAM_TOKEN }}
    message: |
      Deploy ${{ job.status }}
      Repo: ${{ github.repository }}
      Commit: ${{ github.sha }}

48.5 Email (SMTP)

- uses: dawidd6/action-send-mail@v3
  with:
    server_address: smtp.gmail.com
    server_port: 465
    username: ${{ secrets.MAIL_USERNAME }}
    password: ${{ secrets.MAIL_PASSWORD }}
    subject: 'Deploy Status'
    to: admin@example.com
    from: GitHub Actions
    body: 'Deploy ${{ job.status }} untuk ${{ github.sha }}'

BAHAGIAN 49: FEATURE FLAGS & A/B TESTING

49.1 LaunchDarkly

- uses: launchdarkly/ld-relay-action@v1
  with:
    sdk-key: ${{ secrets.LD_SDK_KEY }}
    env: production

49.2 Unleash

- run: |
    curl -X POST https://unleash.example.com/api/admin/features \
      -H "Authorization: ${{ secrets.UNLEASH_TOKEN }}" \
      -H "Content-Type: application/json" \
      -d '{"name":"my-feature","enabled":true}'

49.3 Optimizely

- run: |
    curl -X POST https://api.optimizely.com/v2/experiments \
      -H "Authorization: Bearer ${{ secrets.OPTIMIZELY_TOKEN }}"

BAHAGIAN 50: CODE COVERAGE & QUALITY GATES

50.1 Codecov

- uses: codecov/codecov-action@v4
  with:
    token: ${{ secrets.CODECOV_TOKEN }}
    files: ./coverage.xml
    fail_ci_if_error: true

50.2 Coveralls

- uses: coverallsapp/github-action@v2
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    path-to-lcov: ./coverage/lcov.info

50.3 SonarCloud Quality Gate

- uses: sonarsource/sonarcloud-github-action@v2
  env:
    SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
  with:
    args: >
      -Dsonar.organization=my-org
      -Dsonar.projectKey=my-project
      -Dsonar.qualitygate.wait=true

BAHAGIAN 51: SECRETS MANAGEMENT LANJUTAN

51.1 AWS Secrets Manager

- uses: aws-actions/aws-secretsmanager-get-secrets@v1
  with:
    secret-ids: |
      my-secret
    parse-json-secrets: true

51.2 Azure Key Vault

- uses: azure/get-keyvault-secrets@v1
  with:
    keyvault: my-keyvault
    secrets: 'my-secret'
  id: keyvault
- run: echo ${{ steps.keyvault.outputs.my-secret }}

51.3 GCP Secret Manager

- uses: google-github-actions/get-secretmanager-secrets@v2
  with:
    secrets: |-
      token:my-project/my-secret

51.4 HashiCorp Vault (sudah disentuh)

- uses: hashicorp/vault-action@v3
  with:
    url: https://vault.example.com
    method: jwt
    role: my-role
    secrets: secret/data/myapp api_key | API_KEY

BAHAGIAN 52: DEPENDENCY MANAGEMENT & SBOM

52.1 Renovate

- uses: renovatebot/github-action@v40.1.0
  with:
    token: ${{ secrets.RENOVATE_TOKEN }}

52.2 Dependabot (Built-in)

Fail .github/dependabot.yml:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"

52.3 Syft (SBOM)

- uses: anchore/sbom-action@v0
  with:
    image: user/app:latest
    format: spdx-json
    output-file: sbom.spdx.json
- uses: actions/upload-artifact@v4
  with:
    name: sbom
    path: sbom.spdx.json

52.4 Grype (Vulnerability Scan)

- uses: anchore/scan-action@v3
  with:
    image: user/app:latest
    fail-build: true
    severity-cutoff: high

BAHAGIAN 53: LICENSE COMPLIANCE

53.1 License Checker

- uses: licensecheck/action@v1
  with:
    path: .
    allowed-licenses: MIT, Apache-2.0, BSD-3-Clause

53.2 FOSSA

- uses: fossas/fossa-action@v1
  with:
    api-key: ${{ secrets.FOSSA_API_KEY }}

53.3 Snyk License Compliance

- uses: snyk/actions/node@master
  with:
    args: --severity-threshold=high
  env:
    SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}

BAHAGIAN 54: MULTI-CLOUD & HYBRID

54.1 Multi-Cloud Deployment

jobs:
  deploy-aws:
    runs-on: ubuntu-latest
    steps:
      - uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: ${{ secrets.AWS_ROLE }}
          aws-region: us-east-1
      - run: ./deploy-aws.sh

  deploy-gcp:
    runs-on: ubuntu-latest
    steps:
      - uses: google-github-actions/auth@v2
        with:
          workload_identity_provider: ${{ secrets.GCP_WIF }}
          service_account: ${{ secrets.GCP_SA }}
      - run: ./deploy-gcp.sh

54.2 Hybrid Cloud (On-Prem + Cloud)

- name: Deploy to On-Prem
  run: |
    ssh user@on-prem-server "cd /app && git pull && docker-compose up -d"
  env:
    SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}

BAHAGIAN 55: KESIMPULAN

Dokumen Tambahan 3 ini melengkapkan topik-topik spesifik yang merangkumi:

  • Mobile Development (Flutter, React Native, Fastlane, .NET MAUI).
  • Game Development (Unity, Unreal, Godot).
  • Data Science & ML (Jupyter, DVC, MLflow, W&B, SageMaker, Vertex AI, Azure ML).
  • API Testing (Newman, Schemathesis, Pact, Dredd).
  • Visual Regression & Accessibility (Percy, Chromatic, axe, Pa11y, Lighthouse).
  • Localization (Crowdin, Lokalise, i18n).
  • Monitoring (Datadog, New Relic, Prometheus, Sentry).
  • ChatOps (Slack, Teams, Discord, Telegram, Email).
  • Feature Flags (LaunchDarkly, Unleash, Optimizely).
  • Code Coverage (Codecov, Coveralls, SonarCloud).
  • Secrets Management (AWS, Azure, GCP, Vault).
  • Dependency Management (Renovate, Dependabot, Syft, Grype).
  • License Compliance (License Checker, FOSSA, Snyk).
  • Multi-Cloud & Hybrid deployment.

Dengan ini, anda kini mempunyai rujukan yang sangat lengkap untuk GitHub Actions, daripada asas sehingga ke peringkat perusahaan, merangkumi pelbagai bahasa, platform, dan kes penggunaan. Jika anda memerlukan contoh YAML penuh untuk kes penggunaan spesifik yang lain, sila beritahu.


CodeAnt-AI Description

Add a comprehensive GitHub Actions and fork management guide

What Changed

  • Adds Malay-language guidance for enabling Actions on forked repositories, syncing forks, creating pull requests, and troubleshooting common workflow issues
  • Documents fork security practices, including token and secret handling, contributor approvals, permissions, and safe workflow triggers
  • Adds practical workflow examples for CI, deployments, security scans, releases, testing, caching, artifacts, notifications, reusable workflows, and self-hosted runners
  • Includes advanced guidance for monorepos, containers, Kubernetes, serverless deployments, database migrations, OIDC, secrets, compliance, and performance controls

Impact

✅ Clearer fork setup and contribution steps
✅ Safer handling of secrets and fork-based workflows
✅ Ready-to-use GitHub Actions examples for testing and deployment

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Baik, berikut adalah **Lagi: Dokumen Tambahan 3 – Kes Penggunaan Spesifik & Integrasi Lanjutan**. Dokumen ini merangkumi topik-topik yang belum disentuh secara mendalam sebelum ini, seperti pembangunan aplikasi mudah alih (mobile), permainan (game), sains data (data science), AI/ML, ujian API, ujian visual, kebolehaksesan (accessibility), penyetempatan (localization), pemantauan (monitoring), dan ChatOps.

---

# 📘 DOKUMEN TAMBAHAN 3: KES PENGGUNAAN SPESIFIK

## BAHAGIAN 41: MOBILE APP DEVELOPMENT

### 41.1 Flutter
```yaml
name: Flutter CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.19.0'
          channel: 'stable'
      - run: flutter pub get
      - run: flutter analyze
      - run: flutter test
      - run: flutter build apk --release
      - uses: actions/upload-artifact@v4
        with:
          name: release-apk
          path: build/app/outputs/flutter-apk/app-release.apk
```

### 41.2 React Native
```yaml
name: React Native CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - run: npm run lint
      - run: npm test
      - name: Build Android
        run: |
          cd android
          ./gradlew assembleRelease
      - uses: actions/upload-artifact@v4
        with:
          name: app-release
          path: android/app/build/outputs/apk/release/app-release.apk
```

### 41.3 Fastlane (iOS & Android)
```yaml
- uses: maierj/fastlane-action@v3.1.0
  with:
    lane: 'beta'
    subdirectory: 'ios'
```

### 41.4 .NET MAUI
```yaml
- uses: actions/setup-dotnet@v4
  with:
    dotnet-version: '8.0.x'
- run: dotnet workload install maui
- run: dotnet build -f net8.0-android -c Release
```

---

## BAHAGIAN 42: GAME DEVELOPMENT

### 42.1 Unity
```yaml
name: Unity CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          lfs: true
      - uses: game-ci/unity-builder@v4
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
        with:
          targetPlatform: WebGL
      - uses: actions/upload-artifact@v4
        with:
          name: build
          path: build
```

### 42.2 Unreal Engine
```yaml
- uses: actions/checkout@v4
- name: Build Unreal
  run: |
    ./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project=MyProject.uproject -noP4 -platform=Linux -clientconfig=Development -cook -build -stage -pak -archive -archivedirectory=./archive
```

### 42.3 Godot
```yaml
- uses: firebelley/godot-export@v5.0.0
  with:
    godot_executable_download_url: https://downloads.tuxfamily.org/godotengine/4.2.1/Godot_v4.2.1-stable_linux.x86_64.zip
    godot_export_templates_download_url: https://downloads.tuxfamily.org/godotengine/4.2.1/Godot_v4.2.1-stable_export_templates.tpz
    relative_project_path: ./
    archive_output: true
```

---

## BAHAGIAN 43: DATA SCIENCE & MACHINE LEARNING

### 43.1 Jupyter Notebook Testing
```yaml
- run: pip install nbval
- run: pytest --nbval notebooks/
```

### 43.2 DVC (Data Version Control)
```yaml
- uses: iterative/setup-dvc@v1
- run: dvc pull
- run: dvc repro
- run: dvc push
```

### 43.3 MLflow Tracking
```yaml
- run: |
    mlflow run . -P alpha=0.5
    mlflow models serve -m runs:/<run_id>/model -p 5000 &
```

### 43.4 Weights & Biases (W&B)
```yaml
- uses: wandb/wandb-action@v1
  with:
    wandb_api_key: ${{ secrets.WANDB_API_KEY }}
```

### 43.5 AWS SageMaker
```yaml
- uses: aws-actions/configure-aws-credentials@v4
  with:
    role-to-assume: arn:aws:iam::123456789012:role/SageMakerRole
    aws-region: us-east-1
- run: |
    python train.py
    aws sagemaker create-training-job ...
```

### 43.6 Google Vertex AI
```yaml
- uses: google-github-actions/auth@v2
  with:
    workload_identity_provider: ${{ secrets.GCP_WIF }}
    service_account: ${{ secrets.GCP_SA }}
- run: gcloud ai custom-jobs create ...
```

### 43.7 Azure ML
```yaml
- uses: azure/login@v2
  with:
    creds: ${{ secrets.AZURE_CREDENTIALS }}
- run: az ml job create -f job.yml
```

---

## BAHAGIAN 44: API TESTING & CONTRACT TESTING

### 44.1 Newman (Postman CLI)
```yaml
- run: npm install -g newman
- run: newman run collection.json -e environment.json --reporters cli,json
```

### 44.2 Schemathesis (OpenAPI Fuzzing)
```yaml
- run: pip install schemathesis
- run: schemathesis run https://api.example.com/openapi.json --checks all
```

### 44.3 Pact (Contract Testing)
```yaml
- uses: pactflow/actions@v1
  with:
    broker_url: ${{ secrets.PACT_BROKER_URL }}
    broker_token: ${{ secrets.PACT_BROKER_TOKEN }}
    consumer: my-consumer
    provider: my-provider
```

### 44.4 Dredd (API Blueprint)
```yaml
- run: npm install -g dredd
- run: dredd apiary.apib http://localhost:3000
```

---

## BAHAGIAN 45: VISUAL REGRESSION & ACCESSIBILITY TESTING

### 45.1 Percy (Visual Regression)
```yaml
- uses: percy/exec-action@v0.5.0
  with:
    custom-command: npm test
  env:
    PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
```

### 45.2 Chromatic (Storybook)
```yaml
- uses: chromaui/action@v11
  with:
    projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
```

### 45.3 axe-core (Accessibility)
```yaml
- run: npm install -g @axe-core/cli
- run: axe http://localhost:3000 --exit
```

### 45.4 Pa11y (Accessibility)
```yaml
- run: npm install -g pa11y
- run: pa11y http://localhost:3000
```

### 45.5 Lighthouse CI (Performance & SEO)
```yaml
- uses: treosh/lighthouse-ci-action@v11
  with:
    urls: |
      https://example.com
      https://example.com/about
    budgetPath: ./budget.json
    uploadArtifacts: true
```

---

## BAHAGIAN 46: LOCALIZATION & TRANSLATION

### 46.1 Crowdin
```yaml
- uses: crowdin/github-action@v2
  with:
    upload_sources: true
    download_translations: true
    project_id: ${{ secrets.CROWDIN_PROJECT_ID }}
    token: ${{ secrets.CROWDIN_TOKEN }}
```

### 46.2 Lokalise
```yaml
- uses: lokalise/lokalise-cli-2-action@v2
  with:
    api_token: ${{ secrets.LOKALISE_TOKEN }}
    project_id: ${{ secrets.LOKALISE_PROJECT_ID }}
    command: export
```

### 46.3 i18n Linting
```yaml
- run: npx i18next-parser
- run: npx eslint --ext .js,.jsx,.ts,.tsx src/
```

---

## BAHAGIAN 47: MONITORING & OBSERVABILITY

### 47.1 Datadog
```yaml
- uses: datadog/synthetics-ci-github-action@v1
  with:
    api_key: ${{ secrets.DATADOG_API_KEY }}
    app_key: ${{ secrets.DATADOG_APP_KEY }}
    test_search_query: 'tag:e2e-tests'
```

### 47.2 New Relic
```yaml
- uses: newrelic/deployment-marker-action@v2
  with:
    apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
    accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
    applicationId: ${{ secrets.NEW_RELIC_APP_ID }}
    revision: ${{ github.sha }}
```

### 47.3 Prometheus & Grafana
```yaml
- run: |
    docker run -d -p 9090:9090 prom/prometheus
    docker run -d -p 3000:3000 grafana/grafana
```

### 47.4 Sentry (Release Tracking)
```yaml
- uses: getsentry/action-release@v1
  env:
    SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
    SENTRY_ORG: my-org
    SENTRY_PROJECT: my-project
  with:
    environment: production
```

---

## BAHAGIAN 48: CHATOPS & NOTIFICATIONS

### 48.1 Slack
```yaml
- uses: slackapi/slack-github-action@v1.26.0
  with:
    payload: |
      {
        "text": "Deploy berjaya untuk ${{ github.sha }}"
      }
  env:
    SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
```

### 48.2 Microsoft Teams
```yaml
- uses: aliencube/microsoft-teams-actions@v0.8.0
  with:
    webhook_uri: ${{ secrets.TEAMS_WEBHOOK_URI }}
    title: 'Deploy Status'
    summary: 'Deploy ${{ job.status }}'
    text: 'Commit ${{ github.sha }}'
```

### 48.3 Discord
```yaml
- uses: Ilshidur/action-discord@master
  env:
    DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
  with:
    args: 'Deploy ${{ job.status }} untuk ${{ github.sha }}'
```

### 48.4 Telegram
```yaml
- uses: appleboy/telegram-action@master
  with:
    to: ${{ secrets.TELEGRAM_TO }}
    token: ${{ secrets.TELEGRAM_TOKEN }}
    message: |
      Deploy ${{ job.status }}
      Repo: ${{ github.repository }}
      Commit: ${{ github.sha }}
```

### 48.5 Email (SMTP)
```yaml
- uses: dawidd6/action-send-mail@v3
  with:
    server_address: smtp.gmail.com
    server_port: 465
    username: ${{ secrets.MAIL_USERNAME }}
    password: ${{ secrets.MAIL_PASSWORD }}
    subject: 'Deploy Status'
    to: admin@example.com
    from: GitHub Actions
    body: 'Deploy ${{ job.status }} untuk ${{ github.sha }}'
```

---

## BAHAGIAN 49: FEATURE FLAGS & A/B TESTING

### 49.1 LaunchDarkly
```yaml
- uses: launchdarkly/ld-relay-action@v1
  with:
    sdk-key: ${{ secrets.LD_SDK_KEY }}
    env: production
```

### 49.2 Unleash
```yaml
- run: |
    curl -X POST https://unleash.example.com/api/admin/features \
      -H "Authorization: ${{ secrets.UNLEASH_TOKEN }}" \
      -H "Content-Type: application/json" \
      -d '{"name":"my-feature","enabled":true}'
```

### 49.3 Optimizely
```yaml
- run: |
    curl -X POST https://api.optimizely.com/v2/experiments \
      -H "Authorization: Bearer ${{ secrets.OPTIMIZELY_TOKEN }}"
```

---

## BAHAGIAN 50: CODE COVERAGE & QUALITY GATES

### 50.1 Codecov
```yaml
- uses: codecov/codecov-action@v4
  with:
    token: ${{ secrets.CODECOV_TOKEN }}
    files: ./coverage.xml
    fail_ci_if_error: true
```

### 50.2 Coveralls
```yaml
- uses: coverallsapp/github-action@v2
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    path-to-lcov: ./coverage/lcov.info
```

### 50.3 SonarCloud Quality Gate
```yaml
- uses: sonarsource/sonarcloud-github-action@v2
  env:
    SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
  with:
    args: >
      -Dsonar.organization=my-org
      -Dsonar.projectKey=my-project
      -Dsonar.qualitygate.wait=true
```

---

## BAHAGIAN 51: SECRETS MANAGEMENT LANJUTAN

### 51.1 AWS Secrets Manager
```yaml
- uses: aws-actions/aws-secretsmanager-get-secrets@v1
  with:
    secret-ids: |
      my-secret
    parse-json-secrets: true
```

### 51.2 Azure Key Vault
```yaml
- uses: azure/get-keyvault-secrets@v1
  with:
    keyvault: my-keyvault
    secrets: 'my-secret'
  id: keyvault
- run: echo ${{ steps.keyvault.outputs.my-secret }}
```

### 51.3 GCP Secret Manager
```yaml
- uses: google-github-actions/get-secretmanager-secrets@v2
  with:
    secrets: |-
      token:my-project/my-secret
```

### 51.4 HashiCorp Vault (sudah disentuh)
```yaml
- uses: hashicorp/vault-action@v3
  with:
    url: https://vault.example.com
    method: jwt
    role: my-role
    secrets: secret/data/myapp api_key | API_KEY
```

---

## BAHAGIAN 52: DEPENDENCY MANAGEMENT & SBOM

### 52.1 Renovate
```yaml
- uses: renovatebot/github-action@v40.1.0
  with:
    token: ${{ secrets.RENOVATE_TOKEN }}
```

### 52.2 Dependabot (Built-in)
Fail `.github/dependabot.yml`:
```yaml
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
```

### 52.3 Syft (SBOM)
```yaml
- uses: anchore/sbom-action@v0
  with:
    image: user/app:latest
    format: spdx-json
    output-file: sbom.spdx.json
- uses: actions/upload-artifact@v4
  with:
    name: sbom
    path: sbom.spdx.json
```

### 52.4 Grype (Vulnerability Scan)
```yaml
- uses: anchore/scan-action@v3
  with:
    image: user/app:latest
    fail-build: true
    severity-cutoff: high
```

---

## BAHAGIAN 53: LICENSE COMPLIANCE

### 53.1 License Checker
```yaml
- uses: licensecheck/action@v1
  with:
    path: .
    allowed-licenses: MIT, Apache-2.0, BSD-3-Clause
```

### 53.2 FOSSA
```yaml
- uses: fossas/fossa-action@v1
  with:
    api-key: ${{ secrets.FOSSA_API_KEY }}
```

### 53.3 Snyk License Compliance
```yaml
- uses: snyk/actions/node@master
  with:
    args: --severity-threshold=high
  env:
    SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
```

---

## BAHAGIAN 54: MULTI-CLOUD & HYBRID

### 54.1 Multi-Cloud Deployment
```yaml
jobs:
  deploy-aws:
    runs-on: ubuntu-latest
    steps:
      - uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: ${{ secrets.AWS_ROLE }}
          aws-region: us-east-1
      - run: ./deploy-aws.sh

  deploy-gcp:
    runs-on: ubuntu-latest
    steps:
      - uses: google-github-actions/auth@v2
        with:
          workload_identity_provider: ${{ secrets.GCP_WIF }}
          service_account: ${{ secrets.GCP_SA }}
      - run: ./deploy-gcp.sh
```

### 54.2 Hybrid Cloud (On-Prem + Cloud)
```yaml
- name: Deploy to On-Prem
  run: |
    ssh user@on-prem-server "cd /app && git pull && docker-compose up -d"
  env:
    SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
```

---

## BAHAGIAN 55: KESIMPULAN

Dokumen Tambahan 3 ini melengkapkan topik-topik spesifik yang merangkumi:

- **Mobile Development** (Flutter, React Native, Fastlane, .NET MAUI).
- **Game Development** (Unity, Unreal, Godot).
- **Data Science & ML** (Jupyter, DVC, MLflow, W&B, SageMaker, Vertex AI, Azure ML).
- **API Testing** (Newman, Schemathesis, Pact, Dredd).
- **Visual Regression & Accessibility** (Percy, Chromatic, axe, Pa11y, Lighthouse).
- **Localization** (Crowdin, Lokalise, i18n).
- **Monitoring** (Datadog, New Relic, Prometheus, Sentry).
- **ChatOps** (Slack, Teams, Discord, Telegram, Email).
- **Feature Flags** (LaunchDarkly, Unleash, Optimizely).
- **Code Coverage** (Codecov, Coveralls, SonarCloud).
- **Secrets Management** (AWS, Azure, GCP, Vault).
- **Dependency Management** (Renovate, Dependabot, Syft, Grype).
- **License Compliance** (License Checker, FOSSA, Snyk).
- **Multi-Cloud & Hybrid** deployment.

Dengan ini, anda kini mempunyai **rujukan yang sangat lengkap** untuk GitHub Actions, daripada asas sehingga ke peringkat perusahaan, merangkumi pelbagai bahasa, platform, dan kes penggunaan. Jika anda memerlukan **contoh YAML penuh** untuk kes penggunaan spesifik yang lain, sila beritahu.
@Sazwanismail Sazwanismail self-assigned this Sep 30, 2026
@Sazwanismail Sazwanismail added documentation Improvements or additions to documentation help wanted Extra attention is needed question Further information is requested Perfect zass Kemenangan Semuanya Untuk Celaka Bewak labels Sep 30, 2026
@Sazwanismail Sazwanismail added Media Sosial media Windows hunter Projects personal Test Percubaan Win Kemenangan Xxx Cantik sekali Black setting Laman sendiri Strategic Kecekapan semulajadi labels Sep 30, 2026
@codeant-ai

codeant-ai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR 3688df7 Sep 30, 2026 · 18:58 19:00

@Sazwanismail Sazwanismail added size:XXL This PR changes 1000+ lines, ignoring generated files size:M This PR changes 30-99 lines, ignoring generated files size:XS This PR changes 0-9 lines, ignoring generated files labels Sep 30, 2026
@codeant-ai

codeant-ai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@Sazwanismail Sazwanismail added the size:S This PR changes 10-29 lines, ignoring generated files label Sep 30, 2026
@changeset-bot

changeset-bot Bot commented Sep 30, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 3688df7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@Sazwanismail
Sazwanismail merged commit 0199024 into main Sep 30, 2026
2 checks passed
This was linked to issues Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Black setting Laman sendiri documentation Improvements or additions to documentation help wanted Extra attention is needed Media Sosial media Perfect zass Kemenangan Semuanya Untuk Celaka Bewak question Further information is requested size:M This PR changes 30-99 lines, ignoring generated files size:S This PR changes 10-29 lines, ignoring generated files size:XS This PR changes 0-9 lines, ignoring generated files size:XXL This PR changes 1000+ lines, ignoring generated files Strategic Kecekapan semulajadi Test Percubaan Win Kemenangan Windows hunter Projects personal Xxx Cantik sekali

Projects

Development

Successfully merging this pull request may close these issues.

[Draft] New Issue in codespaces-react Comments language All language

1 participant