diff --git a/.gitea/workflows/test-deployment.yml b/.gitea/workflows/test-deployment.yml new file mode 100644 index 0000000..4a3c256 --- /dev/null +++ b/.gitea/workflows/test-deployment.yml @@ -0,0 +1,35 @@ +name: Continuous Stack Deployment Test + +on: + push: + branches: '*' + schedule: # Deploy every hour for now for test purposes + - cron: '42 * * * *' + +jobs: + test: + name: "Deploy test stack" + runs-on: ubuntu-latest + steps: + - name: "Clone project repository" + uses: actions/checkout@v3 + # At present the stock setup-python action fails on Linux/aarch64 + # Conditional steps below workaroud this by using deadsnakes for that case only + - name: "Install Python for ARM on Linux" + if: ${{ runner.arch == 'arm64' && runner.os == 'Linux' }} + uses: deadsnakes/action@v3.0.1 + with: + python-version: '3.8' + - name: "Install Python cases other than ARM on Linux" + if: ${{ ! (runner.arch == 'arm64' && runner.os == 'Linux') }} + uses: actions/setup-python@v4 + with: + python-version: '3.8' + - name: "Print Python version" + run: python3 --version + - name: "Install stack orchestrator" + run: ./scripts/install-so.sh + - name: "Deploy test stack" + run: | + PATH=$PATH:~/bin + ./deploy/deploy-stack.sh diff --git a/deploy/deploy-stack.sh b/deploy/deploy-stack.sh new file mode 100755 index 0000000..61bcf84 --- /dev/null +++ b/deploy/deploy-stack.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -e +if [ -n "$CERC_SCRIPT_DEBUG" ]; then + set -x +fi + +SO_COMMAND=laconic-so + +deploy_name="Deploy test stack" + +deployment_result=0 + +test_fail_exit () { + local fail_message=$1 + echo "${deploy_name}: ${fail_message}" + echo "${deploy_name}: FAILED" + exit 1 +} + +log_info () { + local message=$1 + echo "$(date +"%Y-%m-%d %T"): ${message}" +} + +log_info "Deployment goes here" + +exit $deployment_result diff --git a/scripts/install-so.sh b/scripts/install-so.sh new file mode 100755 index 0000000..c5944a2 --- /dev/null +++ b/scripts/install-so.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +mkdir ~/bin +curl -L -o ~/bin/laconic-so https://git.vdb.to/cerc-io/stack-orchestrator/releases/download/latest/laconic-so +chmod +x ~/bin/laconic-so