Skip to content

Commit c190aae

Browse files
authored
Migrate from Travis CI to Github Actions (#156)
1 parent b4ba2db commit c190aae

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

.github/scripts/build.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Install OpenEnclave 0.9.0
2+
echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu bionic main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
3+
wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
4+
echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main" | sudo tee /etc/apt/sources.list.d/llvm-toolchain-bionic-7.list
5+
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
6+
echo "deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod bionic main" | sudo tee /etc/apt/sources.list.d/msprod.list
7+
wget -qO - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
8+
9+
sudo apt update
10+
sudo apt -y install clang-7 libssl-dev gdb libsgx-enclave-common libsgx-enclave-common-dev libprotobuf10 libsgx-dcap-ql libsgx-dcap-ql-dev az-dcap-client open-enclave=0.9.0
11+
12+
# Install Opaque Dependencies
13+
sudo apt -y install wget build-essential openjdk-8-jdk python libssl-dev
14+
15+
wget https://github.com/Kitware/CMake/releases/download/v3.15.6/cmake-3.15.6-Linux-x86_64.sh
16+
sudo bash cmake-3.15.6-Linux-x86_64.sh --skip-license --prefix=/usr/local
17+
18+
# Generate keypair for attestation
19+
openssl genrsa -out ./private_key.pem -3 3072
20+
21+
source opaqueenv
22+
source /opt/openenclave/share/openenclave/openenclaverc
23+
export MODE=SIMULATE
24+
25+
build/sbt test

.github/workflows/main.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CI
2+
3+
# Controls when the action will run.
4+
on:
5+
# Triggers the workflow on push or pull request events but only for the master branch
6+
push:
7+
branches: [ master ]
8+
pull_request:
9+
branches: [ master ]
10+
11+
# Allows you to run this workflow manually from the Actions tab
12+
workflow_dispatch:
13+
14+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
15+
jobs:
16+
build:
17+
# Define the OS to run on
18+
runs-on: ubuntu-18.04
19+
# Steps represent a sequence of tasks that will be executed as part of the job
20+
steps:
21+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
22+
- uses: actions/checkout@v2
23+
# Specify the version of Java that is installed
24+
- uses: actions/setup-java@v1
25+
with:
26+
java-version: '8'
27+
# Caching (from https://www.scala-sbt.org/1.x/docs/GitHub-Actions-with-sbt.html)
28+
- uses: coursier/cache-action@v5
29+
# Run the test
30+
- name: Install dependencies, set environment variables, and run sbt tests
31+
run: |
32+
./.github/scripts/build.sh
33+
34+
rm -rf "$HOME/.ivy2/local" || true
35+
find $HOME/Library/Caches/Coursier/v1 -name "ivydata-*.properties" -delete || true
36+
find $HOME/.ivy2/cache -name "ivydata-*.properties" -delete || true
37+
find $HOME/.cache/coursier/v1 -name "ivydata-*.properties" -delete || true
38+
find $HOME/.sbt -name "*.lock" -delete || true
39+
shell: bash
40+

0 commit comments

Comments
 (0)