🌐 Detecting your location…

Ações avançadas do GitHub 2026: fluxos de trabalho reutilizáveis, OIDC e matrizes dinâmicas

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

Além do IC básico,Ações do GitHuboferece suporte a fluxos de trabalho reutilizáveis, ações compostas, matrizes dinâmicas e autenticação OIDC. Este guia aborda padrões avançados usados ​​por equipes de engenharia em grande escala em 2026.

Fluxos de trabalho reutilizáveis ​​ 📋 Copiar

# .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 }}

📋 Copiar

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 }}

Use o OIDC para trocar um token GitHub de curta duração por credenciais de nuvem. Não são necessários segredos armazenados.

📋 Copiar

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

📋 Copiar

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

📋 Copiar

# .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

Fluxos de trabalho reutilizáveis ​​eliminam a duplicação entre repositórios. O OIDC elimina a necessidade de armazenar credenciais de nuvem de longa duração como segredos. As regras de proteção ambiental restringem as implantações de produção com base na aprovação humana. Esses três padrões são essenciais para qualquer equipe de engenharia em 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🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা