Skip to content

Merge pull request #620 from oasisprotocol/xz/docs-polish-docker-dev-… #1868

Merge pull request #620 from oasisprotocol/xz/docs-polish-docker-dev-…

Merge pull request #620 from oasisprotocol/xz/docs-polish-docker-dev-… #1868

Workflow file for this run

# NOTE: This name appears in GitHub's Checks API and in workflow's status badge.
name: ci-test
# Trigger the workflow when:
on:
# A push occurs to one of the matched branches.
push:
branches:
- main
- stable/*
# Or when a pull request event occurs for a pull request against one of the
# matched branches.
pull_request:
branches:
- main
- stable/*
# Cancel in-progress jobs on same branch.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test-go:
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_HOST: 127.0.0.1
POSTGRES_PORT: 5432
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
env:
OASIS_CORE_VERSION: "24.2"
OASIS_NODE_BINARY: ${{ github.workspace }}/oasis_core/oasis-node
OASIS_NET_RUNNER_BINARY: ${{ github.workspace }}/oasis_core/oasis-net-runner
EMERALD_PARATIME_VERSION: 11.0.0-testnet
GATEWAY__CHAIN_ID: 42260
EMERALD_PARATIME: ${{ github.workspace }}/oasis_core/emerald-paratime
OASIS_NODE_DATADIR: /tmp/eth-runtime-test
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.22.x"
- name: Install prerequisites
run: |
sudo apt update && sudo apt install bubblewrap unzip -y
wget "https://github.com/oasisprotocol/oasis-core/releases/download/v${OASIS_CORE_VERSION}/oasis_core_${OASIS_CORE_VERSION}_linux_amd64.tar.gz"
tar xfvz "oasis_core_${OASIS_CORE_VERSION}_linux_amd64.tar.gz"
mkdir -p "$(dirname ${OASIS_NODE_BINARY})"
mv "oasis_core_${OASIS_CORE_VERSION}_linux_amd64/oasis-node" "${OASIS_NODE_BINARY}"
mkdir -p "$(dirname ${OASIS_NET_RUNNER_BINARY})"
mv "oasis_core_${OASIS_CORE_VERSION}_linux_amd64/oasis-net-runner" "${OASIS_NET_RUNNER_BINARY}"
mkdir -p "$(dirname ${EMERALD_PARATIME})"
wget "https://github.com/oasisprotocol/emerald-paratime/releases/download/v${EMERALD_PARATIME_VERSION}/localnet-emerald-paratime.orc" -O "${EMERALD_PARATIME}.orc"
unzip "${EMERALD_PARATIME}.orc"
mv runtime.elf "${EMERALD_PARATIME}"
chmod a+x "${EMERALD_PARATIME}"
- name: Spinup oasis-node
run:
PARATIME_BINARY="${EMERALD_PARATIME}" PARATIME_VERSION="${EMERALD_PARATIME_VERSION}" tests/tools/spinup-oasis-stack.sh > /dev/null &
sleep 60
- name: Unit tests with coverage
run:
go test -race -coverpkg=./... -coverprofile=coverage.txt
-covermode=atomic -v ./...
- name: Shutdown oasis-node
run: killall oasis-node
if: always()
- name: Upload oasis-node logs artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: oasis-node-logs
path: |
${{ env.OASIS_NODE_DATADIR }}/**/*.log
${{ env.OASIS_NODE_DATADIR }}/fixture.json
- name: Upload to codecov.io
uses: codecov/[email protected]
test-go-c10l:
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_HOST: 127.0.0.1
POSTGRES_PORT: 5432
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
env:
OASIS_CORE_VERSION: "24.2"
OASIS_NODE_BINARY: ${{ github.workspace }}/oasis_core/oasis-node
OASIS_NET_RUNNER_BINARY: ${{ github.workspace }}/oasis_core/oasis-net-runner
SAPPHIRE_PARATIME_VERSION: 0.8.2
GATEWAY__CHAIN_ID: 23293
GATEWAY__OASIS_RPCS: true
SAPPHIRE_PARATIME: ${{ github.workspace }}/oasis_core/sapphire-paratime
KEYMANAGER_ARTIFACT_URL: https://buildkite.com/organizations/oasisprotocol/pipelines/oasis-core-ci/builds/14038/jobs/0191c151-b95b-402c-9854-4e58effc95ab/artifacts/0191c156-f366-45b2-819b-e1eb9fd9ba16 # Find this at https://buildkite.com/oasisprotocol/oasis-core-ci/builds?branch=stable%2F<...> under "Build runtimes": simple-keymanager.mocksgx.
KEYMANAGER_BINARY: ${{ github.workspace }}/oasis_core/simple-keymanager
OASIS_NODE_DATADIR: /tmp/eth-runtime-test
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.22.x"
- name: Install prerequisites
run: |
sudo apt update && sudo apt install bubblewrap unzip -y
# oasis-core
wget "https://github.com/oasisprotocol/oasis-core/releases/download/v${OASIS_CORE_VERSION}/oasis_core_${OASIS_CORE_VERSION}_linux_amd64.tar.gz"
tar xfvz "oasis_core_${OASIS_CORE_VERSION}_linux_amd64.tar.gz"
mkdir -p "$(dirname ${OASIS_NODE_BINARY})"
mv "oasis_core_${OASIS_CORE_VERSION}_linux_amd64/oasis-node" "${OASIS_NODE_BINARY}"
mkdir -p "$(dirname ${OASIS_NET_RUNNER_BINARY})"
mv "oasis_core_${OASIS_CORE_VERSION}_linux_amd64/oasis-net-runner" "${OASIS_NET_RUNNER_BINARY}"
mkdir -p "$(dirname ${SAPPHIRE_PARATIME})"
# sapphire-paratime
wget "https://github.com/oasisprotocol/sapphire-paratime/releases/download/v${SAPPHIRE_PARATIME_VERSION}/localnet-sapphire-paratime.orc" -O "${SAPPHIRE_PARATIME}.orc"
unzip "${SAPPHIRE_PARATIME}.orc"
mv ronl.elf "${SAPPHIRE_PARATIME}"
chmod a+x "${SAPPHIRE_PARATIME}"
# simple-keymanager
wget "${KEYMANAGER_ARTIFACT_URL}" -O "${KEYMANAGER_BINARY}"
- name: Spinup oasis-node
run:
PARATIME_BINARY="${SAPPHIRE_PARATIME}" PARATIME_VERSION="${SAPPHIRE_PARATIME_VERSION}" OASIS_UNSAFE_SKIP_AVR_VERIFY=1 OASIS_UNSAFE_ALLOW_DEBUG_ENCLAVES=1 OASIS_UNSAFE_MOCK_SGX=1 tests/tools/spinup-oasis-stack.sh > /dev/null &
sleep 60
- name: Unit tests with coverage
run:
go test -race -coverpkg=./... -coverprofile=coverage.txt
-covermode=atomic -v ./...
- name: Shutdown oasis-node
run: killall oasis-node
if: always()
- name: Upload oasis-node logs artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: oasis-node-logs-c10l
path: |
${{ env.OASIS_NODE_DATADIR }}/**/*.log
${{ env.OASIS_NODE_DATADIR }}/**/config.yaml
${{ env.OASIS_NODE_DATADIR }}/fixture.json
- name: Upload to codecov.io
uses: codecov/[email protected]