From d4653e2db972479b489aefd501d1b240b163de92 Mon Sep 17 00:00:00 2001 From: Stefan Jovanovic Date: Mon, 21 Oct 2024 18:35:44 +0200 Subject: [PATCH] Github workflow added --- .github/workflows/export-and-deploy.yml | 88 +++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .github/workflows/export-and-deploy.yml diff --git a/.github/workflows/export-and-deploy.yml b/.github/workflows/export-and-deploy.yml new file mode 100644 index 0000000..27fd621 --- /dev/null +++ b/.github/workflows/export-and-deploy.yml @@ -0,0 +1,88 @@ +# export-and-deploy-site.yml + +name: Deploy Kobweb site to Pages + +on: + push: + branches: + - master + + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + export: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + + env: + KOBWEB_CLI_VERSION: 0.9.16 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Query Browser Cache ID + id: browser-cache-id + run: echo "value=$(./gradlew -q :site:kobwebBrowserCacheId)" >> $GITHUB_OUTPUT + + - name: Cache Browser Dependencies + uses: actions/cache@v4 + id: playwright-cache + with: + path: ~/.cache/ms-playwright + key: ${{ runner.os }}-playwright-${{ steps.browser-cache-id.outputs.value }} + + - name: Fetch kobweb + uses: robinraju/release-downloader@v1.10 + with: + repository: "varabyte/kobweb-cli" + tag: "v${{ env.KOBWEB_CLI_VERSION }}" + fileName: "kobweb-${{ env.KOBWEB_CLI_VERSION }}.zip" + tarBall: false + zipBall: false + + - name: Unzip kobweb + run: unzip kobweb-${{ env.KOBWEB_CLI_VERSION }}.zip + + - name: Run export + run: | + cd site + ../kobweb-${{ env.KOBWEB_CLI_VERSION }}/bin/kobweb export --notty --layout static + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./site/.kobweb/site + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: export + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file