diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..0d17605 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,51 @@ +name: Deploy + +on: + push: + branches: [ main ] + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + # Clona o repositório. + - uses: actions/checkout@v4 + + # Instala PHP e Composer. + - name: Configura PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.x + tools: composer:v2 + + # Valida o arquivo composer.json. + - name: Valida o arquivo composer.json e o arquivo composer.lock + run: composer validate --strict + + # Armazena as dependências em cache para que não seja necessário + # fazer o download a cada nova execução. + - name: Armazena pacotes Composer + id: composer-cache + uses: actions/cache@v2 + with: + path: vendor + key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-php- + + # Instala as dependências. + - name: Instala as dependências + run: composer install --prefer-dist --no-progress + + # Faz o build do site na pasta temporária. + - name: Gerar os arquivos estáticos + run: vendor/bin/jigsaw build production + + # Commita os arquivos gerados no passo anterior na branch gh-pages. + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./build_production diff --git a/composer.json b/composer.json index 7090eb4..e57e6b0 100644 --- a/composer.json +++ b/composer.json @@ -1,4 +1,7 @@ { + "name": "phprio/novo-site", + "description": "Site do grupo de usuário de PHP do Rio de Janeiro", + "license": "AGPL-3.0-or-later", "require": { "tightenco/jigsaw": "^1.7" } diff --git a/composer.lock b/composer.lock index 3e1589b..66cf2ac 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "555d534a03d333244034f7225fd11d71", + "content-hash": "3972da3d203b545b76f8573d01ed04bf", "packages": [ { "name": "dflydev/dot-access-data",