This repository was archived by the owner on Dec 16, 2025. It is now read-only.
Fix Action #42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy blog | |
| on: | |
| push: | |
| branches: | |
| - feature* | |
| tags: | |
| - '*' | |
| env: | |
| # Rama principal del proyecto - modificar aquí para cambiar la rama por defecto | |
| DEFAULT_BRANCH: v1636-2 | |
| jobs: | |
| build-and-package: | |
| runs-on: ubuntu-latest | |
| env: | |
| BRANCH_NAME: ${{ github.ref_name }} | |
| PACKAGE_NAME: docs-sp-${{ github.ref_name }}.tar.gz | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: true | |
| fetch-depth: 0 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.1.1 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: 20 | |
| cache: pnpm | |
| - name: Install Deps | |
| run: pnpm install --no-frozen-lockfile | |
| - name: Build Blog | |
| env: | |
| NODE_OPTIONS: --max_old_space_size=8192 | |
| BRANCH_NAME: ${{ github.ref_name }} | |
| DEFAULT_BRANCH: ${{ env.DEFAULT_BRANCH }} | |
| run: pnpm run build:webpack | |
| - name: Compress Build Output (tar.gz) | |
| run: tar -czvf $PACKAGE_NAME -C dist . | |
| - name: Upload site pack to S3 | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ vars.AWS_ACCESS_KEY_ID}} | |
| secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| space_name: 'docs-sp' | |
| space_region: 'nyc3' | |
| source: ${{ env.PACKAGE_NAME }} | |
| out_dir: 'html/' | |
| overwrite: true | |
| check-digitalocean-secrets: | |
| name: Check if Digitalocean registry information was set on secrets | |
| needs: | |
| - build-and-package | |
| runs-on: ubuntu-latest | |
| outputs: | |
| is_have_secrets: ${{ steps.check_digitalocean_secrets_job.outputs.is_have_secrets }} | |
| steps: | |
| - id: check_digitalocean_secrets_job | |
| run: | | |
| if [[ "${{ vars.DIGITALOCEAN_REGISTRY }}" != "" && \ | |
| "${{ vars.DOCKER_REPO_DOCS_SP }}" != "" && \ | |
| "${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}" != "" ]]; \ | |
| then | |
| echo "Secrets to use DigitalOcean container registry are configured in the repo" | |
| echo "is_have_secrets=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "Secrets to use DigitalOcean container registry were not configured in the repo" | |
| echo "is_have_secrets=false" >> $GITHUB_OUTPUT | |
| fi | |
| build-nginx-image: | |
| name: Build and Push Nginx Image | |
| runs-on: ubuntu-latest | |
| needs: | |
| - check-digitalocean-secrets | |
| if: needs.check-digitalocean-secrets.outputs.is_have_secrets == 'true' | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Create download directory | |
| run: mkdir -p s3-downloads | |
| - name: Download from DigitalOcean Spaces | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| run: | | |
| echo "Descargando archivos de docs-sp/html..." | |
| aws s3 sync \ | |
| s3://docs-sp/html/ \ | |
| s3-downloads/ \ | |
| --endpoint-url https://nyc3.digitaloceanspaces.com \ | |
| --no-progress | |
| - name: show-directory | |
| run: ls -alh s3-downloads | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to DigitalOcean Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: registry.digitalocean.com | |
| username: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }} | |
| password: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }} | |
| - name: Build and push Nginx image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| push: true | |
| tags: ${{ vars.DIGITALOCEAN_REGISTRY }}/${{ vars.DOCKER_REPO_DOCS_SP }}:main | |
| file: ./Dockerfile | |
| build-args: | | |
| DEFAULT_BRANCH=${{ env.DEFAULT_BRANCH }} |