Skip to content

docs(readme): update README and readme_pdf #14

docs(readme): update README and readme_pdf

docs(readme): update README and readme_pdf #14

Workflow file for this run

name: Docker Build & Push
on:
push:
branches: [ "main", "develop" ]
pull_request:
branches: [ "main" ]
workflow_dispatch: # Manual trigger
env:
REGISTRY: docker.io
IMAGE_NAME: ${{ secrets.DOCKERHUB_USERNAME }}/library-api
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v6
# Setup BuildKit para cache
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f
# Login apenas se for push (não PR)
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Extrai metadata para tags inteligentes
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051
with:
images: ${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=sha,prefix={{branch}}-
type=raw,value=latest,enable={{is_default_branch}}
# Build com cache de registry (MUITO MAIS RÁPIDO!)
- name: Build and push Docker image
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8
with:
context: .
push: ${{ github.event_name != 'pull_request' }} # Push apenas se não for PR
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
build-args: |
BUILDKIT_INLINE_CACHE=1
# Scan de vulnerabilidades (RECOMENDADO)
- name: Run Trivy vulnerability scanner
if: github.event_name != 'pull_request'
uses: aquasecurity/trivy-action@e368e328979b113139d6f9068e03accaed98a518
with:
image-ref: ${{ env.IMAGE_NAME }}:latest
format: 'table'
exit-code: 0 # Não falha CI, apenas avisa
severity: 'CRITICAL,HIGH'