remarkbox/.gitlab-ci.yml

75 lines
1.8 KiB
YAML

stages:
- test
- build
- my.remarkbox.com
- pypi-twine
test:
stage: test
tags: ["build"]
except:
- tags
script: make test
artifacts:
paths:
- env.vanilla
expire_in: 1 hour
build:
stage: build
tags: ["build"]
except:
- tags
script:
- ls -hal
- mv env.vanilla env
- make install-source-prod
# Copy static assets to env/static
- cp -pr remarkbox/static env/static
# Copy static assets to env/static for westworld theme.
- cp -pr env/lib/python*/site-packages/remarkbox_westworld/static/* env/static
# Copy static assets to env/static for meta theme.
- cp -pr env/lib/python*/site-packages/remarkbox_theme_meta/static/* env/static
# Make tarball of the static files.
- cp -pr env/static static
- tar -zcf static.tar.gz static
# Clone the virtualenv with virtualenv-clone into the desired location.
- virtualenv-clone env /opt/remarkbox/env
# Create a tarball of the virtualenv.
- tar -zcf env.tar.gz -C /opt/remarkbox .
# Create a SHA512 hash of env.tar.gz.
- sha512sum env.tar.gz >> env.tar.gz.hash
# Create commit-hash.txt to track this build's git commit hash.
- echo $CI_COMMIT_SHA >> commit-hash.txt
# Clean up the directory outside of the gitlab-runner filesystem.
- rm -rf /opt/remarkbox/env
artifacts:
paths:
- env.tar.gz
- env.tar.gz.hash
- static.tar.gz
- commit-hash.txt
expire_in: 1 month
my.remarkbox.com:
stage: my.remarkbox.com
tags: ["my.remarkbox.com"]
script:
# publish build to Salt Master
- sudo /opt/salt-call-state-highstate.sh
rules:
- if: '$CI_COMMIT_BRANCH == "main"'
pypi-twine:
stage: pypi-twine
tags:
- build
only:
- tags
script:
- pip install --upgrade pip
- pip install twine
- python3 setup.py sdist bdist_wheel
- twine upload dist/*