diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..e144dc3 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,56 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: 'main' + +jobs: + build_site: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + # If you're using pnpm, add this step then change the commands and cache key below to use `pnpm` + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 8 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + + - name: Install dependencies + run: pnpm install + + - name: build + env: + BASE_PATH: '/${{ github.event.repository.name }}' + run: | + pnpm run build + + - name: Upload Artifacts + uses: actions/upload-pages-artifact@v3 + with: + # this should match the `pages` option in your adapter-static options + path: 'build/' + + deploy: + needs: build_site + runs-on: ubuntu-latest + + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/package.json b/package.json index cc64774..b1883d4 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "devDependencies": { "@playwright/test": "^1.41.2", "@rgossiaux/svelte-headlessui": "^2.0.0", - "@sveltejs/adapter-auto": "^3.1.1", + "@sveltejs/adapter-static": "^3.0.6", "@sveltejs/kit": "^2.5.0", "@sveltejs/vite-plugin-svelte": "^3.0.2", "autoprefixer": "^10.4.17", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9d16624..43a0067 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,9 @@ devDependencies: '@rgossiaux/svelte-headlessui': specifier: ^2.0.0 version: 2.0.0(svelte@4.2.9) - '@sveltejs/adapter-auto': - specifier: ^3.1.1 - version: 3.1.1(@sveltejs/kit@2.5.0) + '@sveltejs/adapter-static': + specifier: ^3.0.6 + version: 3.0.6(@sveltejs/kit@2.5.0) '@sveltejs/kit': specifier: ^2.5.0 version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12) @@ -522,13 +522,12 @@ packages: dev: true optional: true - /@sveltejs/adapter-auto@3.1.1(@sveltejs/kit@2.5.0): - resolution: {integrity: sha512-6LeZft2Fo/4HfmLBi5CucMYmgRxgcETweQl/yQoZo/895K3S9YWYN4Sfm/IhwlIpbJp3QNvhKmwCHbsqQNYQpw==} + /@sveltejs/adapter-static@3.0.6(@sveltejs/kit@2.5.0): + resolution: {integrity: sha512-MGJcesnJWj7FxDcB/GbrdYD3q24Uk0PIL4QIX149ku+hlJuj//nxUbb0HxUTpjkecWfHjVveSUnUaQWnPRXlpg==} peerDependencies: '@sveltejs/kit': ^2.0.0 dependencies: '@sveltejs/kit': 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12) - import-meta-resolve: 4.0.0 dev: true /@sveltejs/kit@2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12): diff --git a/svelte.config.js b/svelte.config.js index f2d6166..080c9a1 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,13 +1,18 @@ -import adapter from '@sveltejs/adapter-auto'; -import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; +import adapter from '@sveltejs/adapter-static' +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' /** @type {import('@sveltejs/kit').Config} */ const config = { kit: { - adapter: adapter() + adapter: adapter({ + fallback: '404.html' + }), + paths: { + base: process.argv.includes('dev') ? '' : process.env.BASE_PATH + } }, preprocess: [vitePreprocess()] -}; +} -export default config; +export default config