diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 2521a42..0000000 --- a/.drone.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -kind: template -load: multiarch-container.yaml -data: - repo: doc-utils/utils - build_args: - - NODE_VERSION=18 - tags: - - "0.1.1" - - "0.1" - - "0" - platforms: - - os: linux - arch: arm64 - - os: linux - arch: amd64 diff --git a/.gitea/workflows/build-and-pubilsh.yaml b/.gitea/workflows/build-and-pubilsh.yaml new file mode 100644 index 0000000..855f4fb --- /dev/null +++ b/.gitea/workflows/build-and-pubilsh.yaml @@ -0,0 +1,44 @@ + +name: Build and publish container images + +on: +- workflow_dispatch + +jobs: + build-and-publish: + runs-on: ubuntu-latest + container: + image: catthehacker/ubuntu:act-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: gitea.jbrumond.me + username: ${{ secrets.REGISTRY_USER }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Build Container and publish + uses: docker/build-push-action@v4 + env: + # see + ACTIONS_RUNTIME_TOKEN: '' + with: + context: . + push: true + tags: | + gitea.jbrumond.me/minimal/dashboard:latest + platforms: | + linux/amd64 + linux/arm64 + secrets: | + "npmrc=@doc-utils:registry=https://gitea.jbrumond.me/api/packages/doc-utils/npm/ + //gitea.jbrumond.me/api/packages/doc-utils/npm/:_authToken=${{ secrets.NPM_TOKEN }}" diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..4e72b84 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,38 @@ + +name: Build container images + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + container: + image: catthehacker/ubuntu:act-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Build Container + uses: docker/build-push-action@v4 + env: + # see + ACTIONS_RUNTIME_TOKEN: '' + with: + context: . + push: false + platforms: | + linux/amd64 + linux/arm64 + secrets: | + "npmrc=@doc-utils:registry=https://gitea.jbrumond.me/api/packages/doc-utils/npm/ + //gitea.jbrumond.me/api/packages/doc-utils/npm/:_authToken=${{ secrets.NPM_TOKEN }}" + diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 31801b9..0000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -@doc-utils:registry=https://gitea.jbrumond.me/api/packages/doc-utils/npm/ diff --git a/Dockerfile b/Dockerfile index 7cbfe2f..b11f2bb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,9 +10,10 @@ RUN apk add --no-cache \ make \ bash -COPY package.json package-lock.json .npmrc /doc-utils/ +COPY package.json package-lock.json /doc-utils/ + +RUN --mount=type=secret,id=npmrc,target=/root/.npmrc npm ci -RUN npm ci RUN ln -s /doc-utils/node_modules/@doc-utils/docs2website/bin/docs2website /bin/docs2website RUN ln -s /doc-utils/node_modules/@doc-utils/jsonschema2markdown/bin/jsonschema2markdown /bin/jsonschema2markdown RUN ln -s /doc-utils/node_modules/@doc-utils/markdown2html/bin/markdown2html /bin/markdown2html diff --git a/package-lock.json b/package-lock.json index 1326fc3..0dde89b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,21 +5,21 @@ "packages": { "": { "dependencies": { - "@doc-utils/color-themes": "^0.1.14", - "@doc-utils/docs2website": "^0.1.4", + "@doc-utils/color-themes": "^0.2.0", + "@doc-utils/docs2website": "^0.1.6", "@doc-utils/jsonschema2markdown": "^0.1.1", - "@doc-utils/markdown2html": "^0.2.6" + "@doc-utils/markdown2html": "^0.3.4" } }, "node_modules/@doc-utils/color-themes": { - "version": "0.1.14", - "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fcolor-themes/-/0.1.14/color-themes-0.1.14.tgz", - "integrity": "sha512-j0U8v8Y+9zAm9D7pbCheTQYGEKt9FSpKSZQNGsogxWl95S9Z7QMjtmJns6QPgdOsSDss7sjMLFS5Gm50GCMzNA==" + "version": "0.2.0", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fcolor-themes/-/0.2.0/color-themes-0.2.0.tgz", + "integrity": "sha512-UtjY25B8m4qdMvrmTPK3I1JXckbc1cvCOmIygHFBexpSWBQmb+sdoXfdCsoSpgPncurz1kwlEXffgPELCGtP8g==" }, "node_modules/@doc-utils/docs2website": { - "version": "0.1.4", - "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fdocs2website/-/0.1.4/docs2website-0.1.4.tgz", - "integrity": "sha512-d72T9U++6YJ3GhP8/tPtJqB56y4A0fHSb8BuWiz5B8rLFFsWOqqFYUaIRS+Aa6noWU2I1ZBeDNhEXAyOX9I0+g==", + "version": "0.1.6", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fdocs2website/-/0.1.6/docs2website-0.1.6.tgz", + "integrity": "sha512-1lEXuNYs+mR5biiGEP+CQkRvq0ggH06ftAid1pG78/aVmTgR+VHoJlR+MoP2UDyzmNtxLG45xBAnnxwRZ8U/OA==", "dependencies": { "@doc-utils/color-themes": "^0.1.14", "@doc-utils/jsonschema2markdown": "^0.1.1", @@ -33,6 +33,29 @@ "yaml": "^2.2.2" } }, + "node_modules/@doc-utils/docs2website/node_modules/@doc-utils/color-themes": { + "version": "0.1.16", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fcolor-themes/-/0.1.16/color-themes-0.1.16.tgz", + "integrity": "sha512-6H0clUE0+mRQXbAHLinLSg8YfG3KkZ9zRhbngUtpwPbUHVt9WrnMkmT9rg2VXb+C+35oM6bRPX3QcJxmZESoLw==" + }, + "node_modules/@doc-utils/docs2website/node_modules/@doc-utils/markdown2html": { + "version": "0.2.6", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.2.6/markdown2html-0.2.6.tgz", + "integrity": "sha512-6cQNzthYOOlkT6rr6E1lpSJ4Zq991+chblSRxv69SVT8y5cIs6c9tFu75MXoIKX4+H68Q4i10gtMrrsXD+bkaA==", + "dependencies": { + "bytefield-svg": "^1.6.1", + "dompurify": "^2.3.6", + "jsdom": "^20.0.1", + "katex": "^0.16.7", + "marked": "^5.0.2", + "nomnoml": "^1.5.2", + "pikchr": "^0.0.5", + "prismjs": "^1.29.0", + "qrcode": "^1.5.1", + "vega": "^5.22.1", + "yaml": "^2.2.2" + } + }, "node_modules/@doc-utils/jsonschema2markdown": { "version": "0.1.1", "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fjsonschema2markdown/-/0.1.1/jsonschema2markdown-0.1.1.tgz", @@ -47,9 +70,9 @@ } }, "node_modules/@doc-utils/markdown2html": { - "version": "0.2.6", - "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.2.6/markdown2html-0.2.6.tgz", - "integrity": "sha512-6cQNzthYOOlkT6rr6E1lpSJ4Zq991+chblSRxv69SVT8y5cIs6c9tFu75MXoIKX4+H68Q4i10gtMrrsXD+bkaA==", + "version": "0.3.4", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.3.4/markdown2html-0.3.4.tgz", + "integrity": "sha512-zL3kay/zbrBJWGKIxGCyF+EXsafSxY1aN+miG+GOyml1neoOwd67vNIiE96KuEucf6rvuICPiYTjm3uJxkjd/g==", "dependencies": { "bytefield-svg": "^1.6.1", "dompurify": "^2.3.6", @@ -62,6 +85,9 @@ "qrcode": "^1.5.1", "vega": "^5.22.1", "yaml": "^2.2.2" + }, + "bin": { + "markdown2html": "bin/markdown2html" } }, "node_modules/@isaacs/cliui": { @@ -2579,14 +2605,14 @@ }, "dependencies": { "@doc-utils/color-themes": { - "version": "0.1.14", - "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fcolor-themes/-/0.1.14/color-themes-0.1.14.tgz", - "integrity": "sha512-j0U8v8Y+9zAm9D7pbCheTQYGEKt9FSpKSZQNGsogxWl95S9Z7QMjtmJns6QPgdOsSDss7sjMLFS5Gm50GCMzNA==" + "version": "0.2.0", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fcolor-themes/-/0.2.0/color-themes-0.2.0.tgz", + "integrity": "sha512-UtjY25B8m4qdMvrmTPK3I1JXckbc1cvCOmIygHFBexpSWBQmb+sdoXfdCsoSpgPncurz1kwlEXffgPELCGtP8g==" }, "@doc-utils/docs2website": { - "version": "0.1.4", - "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fdocs2website/-/0.1.4/docs2website-0.1.4.tgz", - "integrity": "sha512-d72T9U++6YJ3GhP8/tPtJqB56y4A0fHSb8BuWiz5B8rLFFsWOqqFYUaIRS+Aa6noWU2I1ZBeDNhEXAyOX9I0+g==", + "version": "0.1.6", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fdocs2website/-/0.1.6/docs2website-0.1.6.tgz", + "integrity": "sha512-1lEXuNYs+mR5biiGEP+CQkRvq0ggH06ftAid1pG78/aVmTgR+VHoJlR+MoP2UDyzmNtxLG45xBAnnxwRZ8U/OA==", "requires": { "@doc-utils/color-themes": "^0.1.14", "@doc-utils/jsonschema2markdown": "^0.1.1", @@ -2598,6 +2624,31 @@ "mustache": "^4.2.0", "xmlbuilder2": "^3.1.1", "yaml": "^2.2.2" + }, + "dependencies": { + "@doc-utils/color-themes": { + "version": "0.1.16", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fcolor-themes/-/0.1.16/color-themes-0.1.16.tgz", + "integrity": "sha512-6H0clUE0+mRQXbAHLinLSg8YfG3KkZ9zRhbngUtpwPbUHVt9WrnMkmT9rg2VXb+C+35oM6bRPX3QcJxmZESoLw==" + }, + "@doc-utils/markdown2html": { + "version": "0.2.6", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.2.6/markdown2html-0.2.6.tgz", + "integrity": "sha512-6cQNzthYOOlkT6rr6E1lpSJ4Zq991+chblSRxv69SVT8y5cIs6c9tFu75MXoIKX4+H68Q4i10gtMrrsXD+bkaA==", + "requires": { + "bytefield-svg": "^1.6.1", + "dompurify": "^2.3.6", + "jsdom": "^20.0.1", + "katex": "^0.16.7", + "marked": "^5.0.2", + "nomnoml": "^1.5.2", + "pikchr": "^0.0.5", + "prismjs": "^1.29.0", + "qrcode": "^1.5.1", + "vega": "^5.22.1", + "yaml": "^2.2.2" + } + } } }, "@doc-utils/jsonschema2markdown": { @@ -2614,9 +2665,9 @@ } }, "@doc-utils/markdown2html": { - "version": "0.2.6", - "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.2.6/markdown2html-0.2.6.tgz", - "integrity": "sha512-6cQNzthYOOlkT6rr6E1lpSJ4Zq991+chblSRxv69SVT8y5cIs6c9tFu75MXoIKX4+H68Q4i10gtMrrsXD+bkaA==", + "version": "0.3.4", + "resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.3.4/markdown2html-0.3.4.tgz", + "integrity": "sha512-zL3kay/zbrBJWGKIxGCyF+EXsafSxY1aN+miG+GOyml1neoOwd67vNIiE96KuEucf6rvuICPiYTjm3uJxkjd/g==", "requires": { "bytefield-svg": "^1.6.1", "dompurify": "^2.3.6", diff --git a/package.json b/package.json index 81f7c0d..80cd059 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "private": true, "dependencies": { - "@doc-utils/color-themes": "^0.1.14", - "@doc-utils/docs2website": "^0.1.4", + "@doc-utils/color-themes": "^0.2.0", + "@doc-utils/docs2website": "^0.1.6", "@doc-utils/jsonschema2markdown": "^0.1.1", - "@doc-utils/markdown2html": "^0.2.6" + "@doc-utils/markdown2html": "^0.3.4" } } diff --git a/readme.md b/readme.md index 948eb7a..2d4bcc9 100644 --- a/readme.md +++ b/readme.md @@ -1,2 +1,25 @@ -This doesn't work because the Dockerfile running `npm ci` does not have credentials to access private npm packages +Container image containing doc-utils + +## Example use in Actions + +```yaml +name: Build docs + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + container: + image: gitea.jbrumond.me/doc-utils/utils:0.1.1 + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Build docs to webpage + run: docs2website ./config.yaml +```