🌐 Detecting your location…

অ্যাডভান্সড গিটহাব অ্যাকশন 2026: পুনরায় ব্যবহারযোগ্য ওয়ার্কফ্লো, ওআইডিসি এবং ডায়নামিক ম্যাট্রিস

⏱️2 min read  ·  291 words
Advanced GitHub Actions 2026: Reusable Workflows, OIDC and Dynamic Matrices

মৌলিক CI এর বাইরে,গিটহাব অ্যাকশনপুনরায় ব্যবহারযোগ্য ওয়ার্কফ্লো, কম্পোজিট অ্যাকশন, ডাইনামিক ম্যাট্রিক্স এবং OIDC প্রমাণীকরণ সমর্থন করে। এই নির্দেশিকাটি 2026 সালে প্রকৌশল দলগুলির দ্বারা ব্যবহৃত উন্নত নিদর্শনগুলিকে কভার করে৷ পুনঃব্যবহারযোগ্য কর্মপ্রবাহ

📋 কপি

# .github/workflows/reusable-test.yml
on:
  workflow_call:
    inputs:
      python-version:
        required: true
        type: string
    secrets:
      codecov-token:
        required: true

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ inputs.python-version }}
      - run: pip install -r requirements.txt && pytest --cov

# Caller workflow
jobs:
  run-tests:
    uses: ./.github/workflows/reusable-test.yml
    with:
      python-version: '3.12'
    secrets:
      codecov-token: ${{ secrets.CODECOV_TOKEN }}

📋 কপি

jobs:
  generate-matrix:
    runs-on: ubuntu-latest
    outputs:
      matrix: ${{ steps.set-matrix.outputs.matrix }}
    steps:
      - uses: actions/checkout@v4
      - id: set-matrix
        run: |
          SERVICES=$(ls services/ | jq -R -s -c 'split("n")[:-1]')
          echo "matrix={"service":$SERVICES}" >> $GITHUB_OUTPUT

  build:
    needs: generate-matrix
    strategy:
      matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: docker build services/${{ matrix.service }}

ক্লাউড শংসাপত্রের জন্য একটি স্বল্পকালীন GitHub টোকেন বিনিময় করতে OIDC ব্যবহার করুন। কোন সঞ্চিত গোপন প্রয়োজন.

📋 কপি

permissions:
  id-token: write
  contents: read

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Configure AWS (OIDC)
        uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: arn:aws:iam::123456789:role/GitHubActionsRole
          aws-region: us-east-1
      - run: aws ecs update-service --cluster prod --service myapp --force-new-deployment

📋 কপি

jobs:
  staging:
    environment: staging
    runs-on: ubuntu-latest
    steps:
      - run: ./deploy.sh staging

  production:
    environment: production  # requires manual approval
    needs: staging
    runs-on: ubuntu-latest
    steps:
      - run: ./deploy.sh production

📋 কপি

# .github/actions/setup-project/action.yml
name: Setup Project
inputs:
  python-version:
    default: '3.12'
runs:
  using: composite
  steps:
    - uses: actions/setup-python@v5
      with:
        python-version: ${{ inputs.python-version }}
    - uses: actions/cache@v4
      with:
        path: ~/.cache/pip
        key: pip-${{ hashFiles('requirements.txt') }}
    - run: pip install -r requirements.txt
      shell: bash

পুনঃব্যবহারযোগ্য ওয়ার্কফ্লো রেপো জুড়ে ডুপ্লিকেশন দূর করে। OIDC গোপনীয়তা হিসাবে দীর্ঘজীবী ক্লাউড শংসাপত্র সংরক্ষণ করার প্রয়োজনীয়তা সরিয়ে দেয়। পরিবেশ সুরক্ষা নিয়ম মানুষের অনুমোদনের পিছনে গেট উত্পাদন স্থাপনা। এই তিনটি প্যাটার্ন 2026 সালের যেকোনো ইঞ্জিনিয়ারিং দলের জন্য অপরিহার্য।

Reusable workflows eliminate duplication across repos. OIDC removes the need to store long-lived cloud credentials as secrets. Environment protection rules gate production deployments behind human approval. These three patterns are essential for any engineering team in 2026.

MD Rafikul Islam

Written by

MD Rafikul Islam is a software developer and the editor of TechPulse. He writes about developer tooling, hardware, and the practical decisions that come up in day-to-day engineering work — which laptop to buy, which framework to commit to, why a build broke at 2am. He tests the tools he writes about and says plainly when something is not worth the money. Corrections and corrections requests are welcome at rony.yf25@gmail.com.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা