Skip to content

Build control plane #17

Build control plane

Build control plane #17

Workflow file for this run

name: Build control plane
on:
workflow_dispatch:
inputs:
control-plane-version:
description: 'control plane version'
# required: false
# default: 'X.Y.Z-beta.U'
jobs:
build_keygen_linux:
name: Build keygen linux
strategy:
matrix:
include:
- os: 'ubuntu-22.04'
runs-on: 'ubuntu-22.04'
build_type: Release
GOOS: linux
GOARCH: amd64
ARCH_LOWER: x86_64
ARCH_UPPER: X86_64
MUSL_TOOLCHAIN_TYPE: native
- os: 'ubuntu-22.04'
runs-on: 'ubuntu-22.04'
build_type: Release
GOOS: linux
GOARCH: arm64
ARCH_LOWER: aarch64
ARCH_UPPER: AARCH64
MUSL_TOOLCHAIN_TYPE: cross
CFLAGS: -mno-outline-atomics
runs-on: ${{ matrix.os }}
outputs:
control-plane-checksum: ${{steps.control-plane.outputs.checksum}}
steps:
- name: set env var
run: echo "CARGO_BUILD_TARGET=${{matrix.ARCH_LOWER}}-unknown-linux-musl" >> $GITHUB_ENV
- name: set env var
run: echo "MUSL_TOOLCHAIN_NAME=${{matrix.ARCH_LOWER}}-linux-musl" >> $GITHUB_ENV
- name: set env var
run: echo "HOST_CC=gcc" >> $GITHUB_ENV
- name: set env var
run: echo "TARGET_CC=$GITHUB_WORKSPACE/$MUSL_TOOLCHAIN_NAME-${{matrix.MUSL_TOOLCHAIN_TYPE}}/bin/$MUSL_TOOLCHAIN_NAME-gcc" >> $GITHUB_ENV
- name: set env var
run: echo "CC_${{matrix.ARCH_LOWER}}_unknown_linux_musl=$TARGET_CC" >> $GITHUB_ENV
- name: set env var
run: echo "CARGO_TARGET_${{matrix.ARCH_UPPER}}_UNKNOWN_LINUX_MUSL_LINKER=$TARGET_CC" >> $GITHUB_ENV
- name: setup rust
run: rustup update && rustup target add $CARGO_BUILD_TARGET && curl --proto '=https' --tlsv1.2 -sSf https://musl.cc/$MUSL_TOOLCHAIN_NAME-${{matrix.MUSL_TOOLCHAIN_TYPE}}.tgz | tar -xz && pwd
- name: clone
run: rm -rf control-plane && git clone https://github.com/marlinprotocol/control-plane
- name: checkout
run: cd control-plane && git checkout master
- name: build
run: cd control-plane && cargo build --release
- name: aws credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-southeast-1
- name: upload control-plane
id: control-plane
# if: ${{github.event.inputs.control-plane-version != 'X.Y.Z-beta.U'}}
run: |
echo "::set-output name=checksum::$(md5sum control-plane/target/$CARGO_BUILD_TARGET/release/control-plane | awk '{print $1;}')"
aws s3 cp control-plane/target/$CARGO_BUILD_TARGET/release/control-plane s3://public.artifacts.marlin.pro/projects/enclaves/control-plane_${{github.event.inputs.control-plane-version}}_${{matrix.GOOS}}_${{matrix.GOARCH}}