From 674e4672363dfb34fa92ba68a180391b4f8c5346 Mon Sep 17 00:00:00 2001 From: David Boreham Date: Tue, 4 Jun 2024 19:31:40 -0600 Subject: [PATCH] Add CI job --- .gitea/publish-stack-images.yml | 46 +++++++++++++++++++++++++++ .gitea/workflows/publish-stack-images | 1 + scripts/install-so.sh | 4 +++ 3 files changed, 51 insertions(+) create mode 100644 .gitea/publish-stack-images.yml create mode 100644 .gitea/workflows/publish-stack-images create mode 100755 scripts/install-so.sh diff --git a/.gitea/publish-stack-images.yml b/.gitea/publish-stack-images.yml new file mode 100644 index 0000000..eb81910 --- /dev/null +++ b/.gitea/publish-stack-images.yml @@ -0,0 +1,46 @@ +name: Publish Stack Container Images + +on: + push: + branches: 'main' + paths: + - '!**' + - '.gitea/workflows/triggers/publish-stack-images' + - '.gitea/workflows/publish-stack-images.yml' + +env: + stack_name: "lotus-node" + +jobs: + publish: + name: "Publish Stack Container Images" + 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: "Build containers" + run: | + PATH=$PATH:~/bin + laconic-so --quiet --stack $(pwd)/stack-orchestrator/stacks/$stack_name setup-repositories + laconic-so --stack $(pwd)/stack-orchestrator/stacks/$stack_name build-containers + - name: "Publish container images" + run: | + PATH=$PATH:~/bin + echo ${{ secrets.CICD_PUBLISH_TOKEN }} | docker login git.vdb.to -u cerccicd --password-stdin + laconic-so --stack $(pwd)/stack-orchestrator/stacks/$stack_name build-containers --publish-images --image-registry git.vdb.to/cerc-io diff --git a/.gitea/workflows/publish-stack-images b/.gitea/workflows/publish-stack-images new file mode 100644 index 0000000..8c442d6 --- /dev/null +++ b/.gitea/workflows/publish-stack-images @@ -0,0 +1 @@ +# Change this file to trigger CI job publish-stack-images 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