name: Publish Laconicd Mainnet Stack Container Images # Note: images in this stack have the same name as images in the fixturenet stack # beware that at present they are not distinguished. So publishing a new version # of one of those images will lead to it being consumed by the other stack. on: push: branches: 'main' paths: - '!**' - '.gitea/workflows/triggers/publish-mainnet-laconicd-images' - '.gitea/workflows/publish-mainnet-laconicd-images.yml' jobs: publish: name: "Publish Laconicd Mainnet 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 # Some of the stack's github repos are still private, so acquire an auth token for git here - name: "Set Github access token" env: TOKEN: ${{ secrets.CICD_GITHUB_REPO_TOKEN }} run: | git config --global url."https://$TOKEN:@github.com/".insteadOf https://github.com/ - name: "Build containers" run: | PATH=$PATH:~/bin laconic-so --quiet --stack mainnet-laconic setup-repositories laconic-so --stack mainnet-laconic 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 mainnet-laconic build-containers --publish-images --image-registry git.vdb.to/cerc-io