aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2019-06-20 16:14:57 -0700
committerBryan Newbold <bnewbold@robocracy.org>2019-06-20 16:14:57 -0700
commitf7de7e30399409c03ba820c9c7a33c95c38e3efa (patch)
tree16658d239ee8f80c65c6f1be9bf641f62af85c2c
parented498a60fec55f1a2f5d10907b47971696224ec1 (diff)
downloadfatcat-f7de7e30399409c03ba820c9c7a33c95c38e3efa.tar.gz
fatcat-f7de7e30399409c03ba820c9c7a33c95c38e3efa.zip
build deployable artifacts
-rw-r--r--.gitlab-ci.yml36
-rw-r--r--python/.gitignore2
-rwxr-xr-xpython/build_tarball.sh8
-rw-r--r--rust/.gitignore2
-rwxr-xr-xrust/build_tarball.sh10
5 files changed, 48 insertions, 10 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4dc25d1a..d8724581 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,6 +4,7 @@ unified_test:
variables:
LC_ALL: "C.UTF-8"
LANG: "C.UTF-8"
+ PIPENV_VENV_IN_PROJECT: "true"
POSTGRES_DB: "fatcat_test"
POSTGRES_USER: "fatcat_user"
POSTGRES_PASSWORD: "fatcat_pw"
@@ -36,8 +37,8 @@ unified_test:
- pipenv run pylint -E fatcat*.py fatcat_tools fatcat_web tests/*.py
rust_build_release:
- only:
- - tags # doesn't build for most commits; only tagged
+ stage: build
+ when: manual
image: "rust:1.32-stretch"
variables:
LC_ALL: "C.UTF-8"
@@ -48,15 +49,30 @@ rust_build_release:
script:
- rustc --version && cargo --version
- cd rust
- - cargo build --release
- - cargo doc
+ - ./build_tarball.sh
artifacts:
paths:
- - rust/target/release/fatcat*
- - rust/target/doc/fatcat*
- - rust/target/doc/*.css
- - rust/target/doc/*.js
- - rust/target/doc/*.woff
- - rust/target/doc/*.svg
+ - rust/fatcat-rust.tar.gz
expire_in: 1 year
+python_build_release:
+ stage: build
+ when: manual
+ image: "rust:1.32-stretch"
+ variables:
+ LC_ALL: "C.UTF-8"
+ LANG: "C.UTF-8"
+ PIPENV_VENV_IN_PROJECT: "true"
+ before_script:
+ - apt update -qy
+ - apt install -y python3-dev python3-pip python3-wheel python3-requests python3-six python3-pytest libsnappy-dev libsodium-dev
+ - pip3 install pipenv
+ script:
+ - python3 --version
+ - pipenv --version
+ - cd python
+ - ./build_tarball.sh
+ artifacts:
+ paths:
+ - python/fatcat-python.tar.gz
+ expire_in: 1 year
diff --git a/python/.gitignore b/python/.gitignore
index 48b921f1..e11492e6 100644
--- a/python/.gitignore
+++ b/python/.gitignore
@@ -5,6 +5,8 @@ build/
dist/
*.egg-info
*.json.gz
+fatcat-*.tar.gz
+
!example.env
!.coveragerc
!.pylintrc
diff --git a/python/build_tarball.sh b/python/build_tarball.sh
new file mode 100755
index 00000000..5c7f1944
--- /dev/null
+++ b/python/build_tarball.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -e -u -o pipefail
+
+PIPENV_VENV_IN_PROJECT=true pipenv install --dev --deploy
+
+rm -f fatcat-python.tar.gz
+tar czf fatcat-python.tar.gz .venv *.py fatcat_tools fatcat_web Pipfile* *.ini README*
diff --git a/rust/.gitignore b/rust/.gitignore
index a2068a8a..03e50598 100644
--- a/rust/.gitignore
+++ b/rust/.gitignore
@@ -1,4 +1,6 @@
.env
target/
+bin/
+fatcat-*.tar.gz
!.cargo
diff --git a/rust/build_tarball.sh b/rust/build_tarball.sh
new file mode 100755
index 00000000..9eed2566
--- /dev/null
+++ b/rust/build_tarball.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+set -e -u -o pipefail
+
+cargo build --release
+mkdir -p ./bin/
+cp target/release/{fatcatd,fatcat-auth,fatcat-export} bin
+
+rm -f fatcat-rust.tar.gz
+tar czf fatcat-rust.tar.gz bin migrations README.md example.env