diff --git a/.github/workflows/oyster-iperf3-enclave.yml b/.github/workflows/oyster-iperf3-enclave.yml new file mode 100644 index 0000000..d72f2c9 --- /dev/null +++ b/.github/workflows/oyster-iperf3-enclave.yml @@ -0,0 +1,50 @@ +name: Build oyster-iperf3-enclave +on: + workflow_dispatch: + inputs: + oyster-iperf3-enclave-family: + description: 'oyster-iperf3-enclave family' +# required: false + default: 'salmon' + oyster-iperf3-enclave-version: + description: 'oyster-iperf3-enclave version' +# required: false + default: 'vX.Y.Z-beta.U' +jobs: + build_linux: + name: Build oyster-iperf3-enclave linux + strategy: + matrix: + include: + - os: 'ubuntu-24.04' + runs-on: 'ubicloud' + build_type: Release + GOOS: linux + GOARCH: amd64 + - os: 'ubuntu-24.04' + runs-on: 'ubicloud-standard-2-arm' + build_type: Release + GOOS: linux + GOARCH: arm64 + runs-on: ${{ matrix.runs-on }} + outputs: + oyster-iperf3-enclave-checksum: ${{steps.oyster-iperf3-enclave.outputs.checksum}} + steps: + - name: echo + run: | + echo oyster-iperf3-enclave-version ${{github.event.inputs.oyster-iperf3-enclave-version}} + - name: clone + run: rm -rf oyster-iperf3-enclave && git clone https://github.com/marlinprotocol/oyster-iperf3-enclave + - name: checkout + run: cd oyster-iperf3-enclave && git checkout master + - name: nix + run: sudo install -d -m755 -o $(id -u) -g $(id -g) /nix && curl -L https://nixos.org/nix/install | sh + - name: build + run: cd oyster-iperf3-enclave && . /home/runner/.nix-profile/etc/profile.d/nix.sh && nix build --out-link result-${{github.event.inputs.oyster-iperf3-enclave-family}}-${{matrix.GOARCH}} ./${{github.event.inputs.oyster-iperf3-enclave-family}}/${{matrix.GOARCH}} -vL --extra-experimental-features "nix-command flakes" + - name: upload oyster-iperf3-enclave + id: oyster-iperf3-enclave + if: ${{github.event.inputs.oyster-iperf3-enclave-version != 'vX.Y.Z-beta.U'}} + run: | + echo "::set-output name=checksum::$(sha256sum oyster-iperf3-enclave/result-${{github.event.inputs.oyster-iperf3-enclave-family}}-${{matrix.GOARCH}}/image.eif | awk '{print $1;}')" + AWS_ACCESS_KEY_ID=${{secrets.AWS_ACCESS_KEY_ID}} AWS_SECRET_ACCESS_KEY=${{secrets.AWS_SECRET_ACCESS_KEY}} aws s3 cp --endpoint-url ${{secrets.AWS_S3_ENDPOINT}} oyster-iperf3-enclave/result-${{github.event.inputs.oyster-iperf3-enclave-family}}-${{matrix.GOARCH}}/image.eif s3://artifacts/oyster/eifs/iperf3-${{github.event.inputs.oyster-iperf3-enclave-family}}_${{github.event.inputs.oyster-iperf3-enclave-version}}_${{matrix.GOOS}}_${{matrix.GOARCH}}.eif + AWS_ACCESS_KEY_ID=${{secrets.AWS_ACCESS_KEY_ID}} AWS_SECRET_ACCESS_KEY=${{secrets.AWS_SECRET_ACCESS_KEY}} aws s3 cp --endpoint-url ${{secrets.AWS_S3_ENDPOINT}} oyster-iperf3-enclave/result-${{github.event.inputs.oyster-iperf3-enclave-family}}-${{matrix.GOARCH}}/pcr.json s3://artifacts/oyster/eifs/iperf3-${{github.event.inputs.oyster-iperf3-enclave-family}}_${{github.event.inputs.oyster-iperf3-enclave-version}}_${{matrix.GOOS}}_${{matrix.GOARCH}}.json