summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevan Carpenter <devan@taler.net>2023-06-07 11:53:49 -0400
committerDevan Carpenter <devan@taler.net>2023-07-17 17:07:45 -0400
commit0a12dac40b557f77220ddebb51d8e851a2c3c528 (patch)
treeb3dc4ffdabad3c8a5d035e39ec9aff674e60ab07
parent8b90bd84ab75f2faabaf48ec7295f8068b8969ed (diff)
downloadwallet-core-0a12dac40b557f77220ddebb51d8e851a2c3c528.tar.gz
wallet-core-0a12dac40b557f77220ddebb51d8e851a2c3c528.tar.bz2
wallet-core-0a12dac40b557f77220ddebb51d8e851a2c3c528.zip
CI: intial CI setup
add ci directory with 3 basic jobs.
-rw-r--r--ci/Containerfile19
-rw-r--r--ci/jobs/0-codespell/config.ini5
-rw-r--r--ci/jobs/0-codespell/dictionary.txt44
-rwxr-xr-xci/jobs/0-codespell/job.sh6
-rwxr-xr-xci/jobs/1-build/build.sh6
-rwxr-xr-xci/jobs/1-build/job.sh6
-rwxr-xr-xci/jobs/2-docs/docs.sh15
-rwxr-xr-xci/jobs/2-docs/job.sh6
8 files changed, 107 insertions, 0 deletions
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