diff --git a/.gitignore b/.gitignore index 0974d9e..0b8fb11 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules _book +target diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 18c1625..50dfcf1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,30 @@ +stages: + - build + - upload + - release + +variables: + PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/devlifefrommodernway/${CI_COMMIT_TAG}" + +upload: + stage: upload + image: curlimages/curl:latest + rules: + - if: $CI_COMMIT_TAG + script: + - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file target/book-${CI_COMMIT_TAG}.pdf ${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.pdf' + +release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + rules: + - if: $CI_COMMIT_TAG + script: + - 'release-cli create --name "book-$CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG --assets-link "{\"name\":\"book-${CI_COMMIT_TAG}\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}\"}"' + image: node:lts-bullseye pages: - stage: deploy + stage: build cache: key: files: @@ -9,15 +33,22 @@ pages: - node_modules/ script: - apt-get update && apt-get install -y calibre --no-install-recommends + - apt-get update && apt-get install -y fontconfig unzip sudo - unzip "./fonts/*.zip" -d /usr/share/fonts/ && fc-cache -fv + - sudo corepack enable - sudo -u node pnpm install - sudo -u node env LANG=ja_JP.UTF-8 pnpm run build - - cp -a _book/ public/webbook/ + + - mv target/book{.pdf,-${CI_COMMIT_TAG}.pdf} + - mv target/book{.epub,-${CI_COMMIT_TAG}.epub} + - mv target/book{.mobi,-${CI_COMMIT_TAG}.mobi} + + - cp -a _book/. public/ artifacts: paths: - public/ rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_COMMIT_TAG diff --git a/package.json b/package.json index 13a5912..c3c0e35 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,9 @@ "build": "run-s build:content", "build:content": "run-p build:content:*", "build:content:web": "honkit build", - "build:content:pdf": "honkit pdf . ./public/books/book.pdf", - "build:content:epub": "honkit epub . ./public/books/book.epub", - "build:content:mobi": "honkit mobi . ./public/books/book.mobi" + "build:content:pdf": "honkit pdf . ./target/book.pdf", + "build:content:epub": "honkit epub . ./target/book.epub", + "build:content:mobi": "honkit mobi . ./target/book.mobi" }, "devDependencies": { "gitbook-plugin-anchors": "^0.7.1", diff --git a/public/.gitkeep b/public/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/public/books/.gitignore b/public/books/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/public/books/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore