diff --git a/Dockerfile b/Dockerfile index 29213227..8996014e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,7 @@ ARG asciidoctor_revealjs_version=4.1.0 ARG kramdown_asciidoc_version=2.0.0 ARG asciidoctor_bibtex_version=0.8.0 ARG asciidoctor_kroki_version=0.5.0 +ARG nodejs_version=16.14.0-r0 ARG asciidoctor_web_pdf_version=1.0.0-alpha.14 ARG asciidoctor_kroki_npm_version=0.15.4 @@ -26,6 +27,7 @@ ENV ASCIIDOCTOR_VERSION=${asciidoctor_version} \ KRAMDOWN_ASCIIDOC_VERSION=${kramdown_asciidoc_version} \ ASCIIDOCTOR_BIBTEX_VERSION=${asciidoctor_bibtex_version} \ ASCIIDOCTOR_KROKI_VERSION=${asciidoctor_kroki_version} \ + NODEJS_VERSION=${nodejs_version} \ ASCIIDOCTOR_WEB_PDF_VERSION=${asciidoctor_web_pdf_version} \ ASCIIDOCTOR_KROKI_NPM_VERSION=${asciidoctor_kroki_npm_version} diff --git a/README.adoc b/README.adoc index ff6aa77e..f52dfab8 100644 --- a/README.adoc +++ b/README.adoc @@ -10,6 +10,7 @@ :KRAMDOWN_ASCIIDOC_VERSION: 2.0.0 :ASCIIDOCTOR_BIBTEX_VERSION: 0.8.0 :ASCIIDOCTOR_KROKI_VERSION: 0.5.0 +:NODEJS_VERSION: 16.14.0 :ASCIIDOCTOR_WEB_PDF_VERSION: 1.0.0-alpha.14 ifdef::env-github[] :tip-caption: :bulb: @@ -42,7 +43,7 @@ This Docker image provides: * https://github.com/asciidoctor/asciidoctor-confluence[Asciidoctor Confluence] {ASCIIDOCTOR_CONFLUENCE_VERSION} * https://github.com/asciidoctor/asciidoctor-bibtex[Asciidoctor Bibtex] {ASCIIDOCTOR_BIBTEX_VERSION} * https://github.com/Mogztter/asciidoctor-kroki[Asciidoctor Kroki] {ASCIIDOCTOR_KROKI_VERSION} -* https://github.com/Mogztter/asciidoctor-web-pdf[Asciidoctor Web PDF] {ASCIIDOCTOR_WEB_PDF_VERSION} +* https://github.com/Mogztter/asciidoctor-web-pdf[Asciidoctor Web PDF] {ASCIIDOCTOR_WEB_PDF_VERSION} -- This is an unofficial project. This image uses Alpine Linux {ALPINE_VERSION} as base image. diff --git a/README.md b/README.md index 61c57ab8..69f2d82f 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ This Docker image provides: - [Asciidoctor Kroki](https://github.com/Mogztter/asciidoctor-kroki) 0.5.0 -- [Asciidoctor Web PDF](https://github.com/Mogztter/asciidoctor-web-pdf) 1.0.0-alpha.14 +- [Asciidoctor Web PDF](https://github.com/Mogztter/asciidoctor-web-pdf) 1.0.0-alpha.14 -- This is an unofficial project. This image uses Alpine Linux 3.13.5 as base image. diff --git a/tests/asciidoctor.bats b/tests/asciidoctor.bats index 75d0f38f..61e58dfc 100644 --- a/tests/asciidoctor.bats +++ b/tests/asciidoctor.bats @@ -13,6 +13,7 @@ ASCIIDOCTOR_REVEALJS_VERSION=4.1.0 KRAMDOWN_ASCIIDOC_VERSION=2.0.0 ASCIIDOCTOR_BIBTEX_VERSION=0.8.0 ASCIIDOCTOR_KROKI_VERSION=0.5.0 +NODEJS_VERSION=16.14.0 ASCIIDOCTOR_WEB_PDF_VERSION=1.0.0-alpha.14 DOCKER_IMAGE_NAME_TO_TEST="${IMAGE_NAME:-asciidoctor}" @@ -55,6 +56,11 @@ teardown() { | grep "${ASCIIDOCTOR_WEB_PDF_VERSION}" } +@test "Node.js is installed and in version ${NODEJS_VERSION}" { + docker run -t --rm "${DOCKER_IMAGE_NAME_TO_TEST}" node -v \ + | grep "${NODEJS_VERSION}" +} + @test "asciidoctor-revealjs is callable without error" { docker run -t --rm "${DOCKER_IMAGE_NAME_TO_TEST}" asciidoctor-revealjs -v \ | grep "${ASCIIDOCTOR_REVEALJS_VERSION}" diff --git a/updatecli/updatecli.d/nodejs.yml b/updatecli/updatecli.d/nodejs.yml new file mode 100644 index 00000000..23d1007a --- /dev/null +++ b/updatecli/updatecli.d/nodejs.yml @@ -0,0 +1,91 @@ +--- +title: "Bump Node.js version" + +scms: + default: + kind: github + spec: + user: "{{ .github.user }}" + email: "{{ .github.email }}" + owner: "{{ requiredEnv .github.owner }}" + repository: "{{ requiredEnv .github.repository }}" + token: "{{ requiredEnv .github.token }}" + username: "{{ .github.username }}" + branch: "{{ .github.branch }}" + +sources: + latestVersion: + kind: githubRelease + name: "Get the latest Node.js version" + spec: + owner: "nodejs" + repository: "node" + token: "{{ requiredEnv .github.token }}" + username: "{{ .github.username }}" + versionFilter: + kind: regex + pattern: '*LTS*' + transformers: + - trimPrefix: "v" + +conditions: + testDockerfileArgVersion: + name: "Does the Dockerfile have an ARG instruction which key is nodejs_version?" + kind: dockerfile + spec: + file: Dockerfile + instruction: + keyword: "ARG" + matcher: "nodejs_version" + testVersionInReadme: + name: "Does the README.adoc have a variable NODEJS_VERSION" + kind: file + spec: + file: README.adoc + matchPattern: '(?m:^:NODEJS_VERSION:.*)' + testVersionInTestHarness: + name: "Does the test harness have variable NODEJS_VERSION" + kind: file + spec: + file: tests/asciidoctor.bats + matchPattern: '(?m:^NODEJS_VERSION=.*)' + +targets: + updateDockerfile: + name: "Update the value of ARG nodejs_version in the Dockerfile" + kind: dockerfile + spec: + file: Dockerfile + instruction: + keyword: "ARG" + matcher: "nodejs_version" + scmID: default + updateTestHarness: + name: "Update the key NODEJS_VERSION in the test harness" + kind: file + spec: + file: tests/asciidoctor.bats + matchPattern: '(?m:^NODEJS_VERSION=.*)' + content: 'NODEJS_VERSION={{ source `latestVersion` }}' + scmID: default + updateReadme: + name: "Update the key NODEJS_VERSION in the README.adoc file" + kind: file + spec: + file: README.adoc + matchPattern: '(?m:^:NODEJS_VERSION:.*)' + content: ':NODEJS_VERSION: {{ source `latestVersion` }}' + scmID: default + +pullrequests: + default: + kind: github + scmID: default + targets: + - updateDockerfile + - updateTestHarness + - updateReadme + spec: + labels: + - chore + - dependencies