Skip to content

Build raw proxies

Build raw proxies #2

Workflow file for this run

name: Build raw proxies
on:
workflow_dispatch:
inputs:
iptvo-version:
description: 'ip to vsock outgoing binary version'
required: false
default: 'X.Y.Z-beta.U'
vtipo-version:
description: 'vsock to ip outgoing binary version'
required: false
default: 'X.Y.Z-beta.U'
iptvi-version:
description: 'ip to vsock incoming binary version'
required: false
default: 'X.Y.Z-beta.U'
vtipi-version:
description: 'vsock to ip incoming binary version'
required: false
default: 'X.Y.Z-beta.U'
version-description:
description: 'description for new version'
required: false
default: 'automated'
jobs:
build_raw_proxies_linux:
name: Build raw proxies linux
strategy:
matrix:
include:
- os: 'ubuntu-22.04'
runs-on: 'ubuntu-22.04'
build_type: Release
GOOS: linux
GOARCH: amd64
target: x86_64-unknown-linux-musl
- os: 'ubuntu-22.04'
runs-on: self-hosted
build_type: Release
GOOS: linux
GOARCH: arm64
target: aarch64-unknown-linux-musl
runs-on: ${{ matrix.runs-on }}
outputs:
iptvo-checksum: ${{steps.iptvo.outputs.checksum}}
vtipo-checksum: ${{steps.vtipo.outputs.checksum}}
iptvi-checksum: ${{steps.iptvi.outputs.checksum}}
vtipi-checksum: ${{steps.vtipi.outputs.checksum}}
steps:
- name: echo
run: |
echo iptvo-version ${{github.event.inputs.iptvo-version}}
echo vtipo-version ${{github.event.inputs.vtipo-version}}
echo iptvi-version ${{github.event.inputs.iptvi-version}}
echo vtipi-version ${{github.event.inputs.vtipi-version}}
echo version-description ${{github.event.inputs.version-description}}
- name: update rust
run: rustup update && rustup target add ${{matrix.target}}
- name: clone
run: rm -rf oyster-raw-proxy && git clone https://github.com/marlinprotocol/oyster-raw-proxy oyster-raw-proxy
- name: checkout
run: cd oyster-raw-proxy && git checkout master
- name: build
run: cd oyster-raw-proxy && cargo build --release --target ${{matrix.target}}
- 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 iptvo
id: iptvo
if: ${{github.event.inputs.iptvo-version != 'X.Y.Z-beta.U'}}
run: |
echo "::set-output name=checksum::$(md5sum oyster-raw-proxy/target/${{matrix.target}}/release/ip-to-vsock-raw-outgoing | awk '{print $1;}')"
upx oyster-raw-proxy/target/${{matrix.target}}/release/ip-to-vsock-raw-outgoing
aws s3 cp oyster-raw-proxy/target/${{matrix.target}}/release/ip-to-vsock-raw-outgoing s3://public.artifacts.marlin.pro/projects/enclaves/ip-to-vsock-raw-outgoing_${{github.event.inputs.iptvo-version}}_${{matrix.GOOS}}_${{matrix.GOARCH}}
- name: upload vtipo
id: vtipo
if: ${{github.event.inputs.vtipo-version != 'X.Y.Z-beta.U'}}
run: |
echo "::set-output name=checksum::$(md5sum oyster-raw-proxy/target/${{matrix.target}}/release/vsock-to-ip-raw-outgoing | awk '{print $1;}')"
upx oyster-raw-proxy/target/${{matrix.target}}/release/vsock-to-ip-raw-outgoing
aws s3 cp oyster-raw-proxy/target/${{matrix.target}}/release/vsock-to-ip-raw-outgoing s3://public.artifacts.marlin.pro/projects/enclaves/vsock-to-ip-raw-outgoing_${{github.event.inputs.vtipo-version}}_${{matrix.GOOS}}_${{matrix.GOARCH}}
- name: upload iptvi
id: iptvi
if: ${{github.event.inputs.iptvi-version != 'X.Y.Z-beta.U'}}
run: |
echo "::set-output name=checksum::$(md5sum oyster-raw-proxy/target/${{matrix.target}}/release/ip-to-vsock-raw-incoming | awk '{print $1;}')"
upx oyster-raw-proxy/target/${{matrix.target}}/release/ip-to-vsock-raw-incoming
aws s3 cp oyster-raw-proxy/target/${{matrix.target}}/release/ip-to-vsock-raw-incoming s3://public.artifacts.marlin.pro/projects/enclaves/ip-to-vsock-raw-incoming_${{github.event.inputs.iptvi-version}}_${{matrix.GOOS}}_${{matrix.GOARCH}}
- name: upload vtipi
id: vtipi
if: ${{github.event.inputs.vtipi-version != 'X.Y.Z-beta.U'}}
run: |
echo "::set-output name=checksum::$(md5sum oyster-raw-proxy/target/${{matrix.target}}/release/vsock-to-ip-raw-incoming | awk '{print $1;}')"
upx oyster-raw-proxy/target/${{matrix.target}}/release/vsock-to-ip-raw-incoming
aws s3 cp oyster-raw-proxy/target/${{matrix.target}}/release/vsock-to-ip-raw-incoming s3://public.artifacts.marlin.pro/projects/enclaves/vsock-to-ip-raw-incoming_${{github.event.inputs.vtipi-version}}_${{matrix.GOOS}}_${{matrix.GOARCH}}