diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml new file mode 100644 index 0000000..cb452f7 --- /dev/null +++ b/.github/workflows/build-push.yml @@ -0,0 +1,33 @@ +name: Build from push +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.141.0 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + - name: Build site + uses: omsf/static-site-tools/build/hugo@main + with: + base-url: "" + + - name: Make artifact + shell: bash + run: tar czf site.tar.gz public + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: site-build + path: site.tar.gz + if-no-files-found: error + retention-days: 1 diff --git a/.github/workflows/prod-cloudflare.yaml b/.github/workflows/prod-cloudflare.yaml new file mode 100644 index 0000000..d33a7f5 --- /dev/null +++ b/.github/workflows/prod-cloudflare.yaml @@ -0,0 +1,21 @@ +name: Deploy to production + +on: + workflow_run: + workflows: ["Build from push"] + types: + - completed + branches: + - main + +jobs: + deploy-to-prod: + if: ${{ github.event.workflow_run.conclusion == 'success' }} + uses: omsf/static-site-tools/.github/workflows/prod-cloudflare.yaml@main + with: + run-id: ${{ github.event.workflow_run.id }} + project-name: ${{ vars.CLOUDFLARE_PROJECT_NAME }} + html-dir: public + secrets: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}