From 0a12dac40b557f77220ddebb51d8e851a2c3c528 Mon Sep 17 00:00:00 2001 From: Devan Carpenter Date: Wed, 7 Jun 2023 11:53:49 -0400 Subject: CI: intial CI setup add ci directory with 3 basic jobs. --- ci/Containerfile | 19 ++++++++++++++++ ci/jobs/0-codespell/config.ini | 5 +++++ ci/jobs/0-codespell/dictionary.txt | 44 ++++++++++++++++++++++++++++++++++++++ ci/jobs/0-codespell/job.sh | 6 ++++++ ci/jobs/1-build/build.sh | 6 ++++++ ci/jobs/1-build/job.sh | 6 ++++++ ci/jobs/2-docs/docs.sh | 15 +++++++++++++ ci/jobs/2-docs/job.sh | 6 ++++++ 8 files changed, 107 insertions(+) create mode 100644 ci/Containerfile create mode 100644 ci/jobs/0-codespell/config.ini create mode 100644 ci/jobs/0-codespell/dictionary.txt create mode 100755 ci/jobs/0-codespell/job.sh create mode 100755 ci/jobs/1-build/build.sh create mode 100755 ci/jobs/1-build/job.sh create mode 100755 ci/jobs/2-docs/docs.sh create mode 100755 ci/jobs/2-docs/job.sh diff --git a/ci/Containerfile b/ci/Containerfile new file mode 100644 index 000000000..4e3369830 --- /dev/null +++ b/ci/Containerfile @@ -0,0 +1,19 @@ +FROM docker.io/library/node:18-slim + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update -yq && \ + apt-get install -yqq \ + git \ + python3 \ + python3-distutils \ + make \ + zip \ + jq + +RUN npm install -g pnpm + +# Set our workdir. All subsequent commands will be relative to this path. +WORKDIR /workdir + +CMD ["bash", "/workdir/ci/ci.sh"] diff --git a/ci/jobs/0-codespell/config.ini b/ci/jobs/0-codespell/config.ini new file mode 100644 index 000000000..1c52b6a1a --- /dev/null +++ b/ci/jobs/0-codespell/config.ini @@ -0,0 +1,5 @@ +[build] +HALT_ON_FAILURE = False +WARN_ON_FAILURE = True +CONTAINER_BUILD = False +CONTAINER_NAME = nixery.dev/shell/codespell diff --git a/ci/jobs/0-codespell/dictionary.txt b/ci/jobs/0-codespell/dictionary.txt new file mode 100644 index 000000000..b4d643349 --- /dev/null +++ b/ci/jobs/0-codespell/dictionary.txt @@ -0,0 +1,44 @@ +# List of "words" that codespell should ignore in our sources. +# +# Note: The word sensitivity depends on how the to-be-ignored word is +# spelled in codespell_lib/data/dictionary.txt. F.e. if there is a word +# 'foo' and you add 'Foo' _here_, codespell will continue to complain +# about 'Foo'. +# +BRE +ND +Nd +TE +TEH +UPDATEing +WAN +aci +acn +ba +bre +cant +complet +doas +ect +ehr +fo +hel +ifset +ist +keypair +nd +onl +openin +ot +ser +sie +som +sover +te +te +teh +tha +ths +updateing +wan +wih diff --git a/ci/jobs/0-codespell/job.sh b/ci/jobs/0-codespell/job.sh new file mode 100755 index 000000000..eaa1ded62 --- /dev/null +++ b/ci/jobs/0-codespell/job.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -exuo pipefail + +job_dir=$(dirname "${BASH_SOURCE[0]}") + +codespell -I "${job_dir}"/dictionary.txt diff --git a/ci/jobs/1-build/build.sh b/ci/jobs/1-build/build.sh new file mode 100755 index 000000000..25a38946d --- /dev/null +++ b/ci/jobs/1-build/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -exuo pipefail + +./bootstrap +./configure --prefix=$HOME/local/ +make diff --git a/ci/jobs/1-build/job.sh b/ci/jobs/1-build/job.sh new file mode 100755 index 000000000..8d79902c5 --- /dev/null +++ b/ci/jobs/1-build/job.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -exuo pipefail + +job_dir=$(dirname "${BASH_SOURCE[0]}") + +"${job_dir}"/build.sh diff --git a/ci/jobs/2-docs/docs.sh b/ci/jobs/2-docs/docs.sh new file mode 100755 index 000000000..f2208b2f9 --- /dev/null +++ b/ci/jobs/2-docs/docs.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -exuo pipefail + +./bootstrap +./configure +make + +pnpm install typedoc +./node_modules/typedoc/bin/typedoc \ + --out dist/typedoc \ + --tsconfig tsconfig.build.json \ + packages/taler-util/src/index.ts \ + packages/taler-wallet-cli/src/index.ts \ + packages/taler-wallet-android/src/index.ts \ + packages/taler-wallet-core/src/index.ts diff --git a/ci/jobs/2-docs/job.sh b/ci/jobs/2-docs/job.sh new file mode 100755 index 000000000..a72bca4ba --- /dev/null +++ b/ci/jobs/2-docs/job.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -exuo pipefail + +job_dir=$(dirname "${BASH_SOURCE[0]}") + +"${job_dir}"/docs.sh -- cgit v1.2.3