-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MorpheusVM: The Choice is Yours #258
Changes from all commits
338e642
790715a
735cd22
626e35c
365c70f
84d5712
d7a3470
fa05609
09914af
ed234d1
736eba6
43ab201
d44cd8c
80af858
f284e5d
47a7b52
7398668
bfbc187
0179306
d927bb2
5845255
d32188c
2962550
3a721ca
b85aea1
9d9eb0c
c73969e
4542f00
d7f2d47
ece869a
fcef039
813fdbc
4ae0538
f9f1fc9
5dcc80b
ca69c96
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Copyright (C) 2023, Ava Labs, Inc. All rights reserved. | ||
# See the file LICENSE for licensing terms. | ||
|
||
name: MorpheusVM Load Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
types: [labeled,synchronize,reopened] | ||
|
||
jobs: | ||
morpheusvm-load-tests: | ||
if: ${{ github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'run load') }} | ||
strategy: | ||
matrix: | ||
level: [v1, v2, v3] # v4 is not supported | ||
runs-on: | ||
labels: ubuntu-20.04-32 | ||
timeout-minutes: 10 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Set up Go | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: "1.20" | ||
check-latest: true | ||
cache: true | ||
cache-dependency-path: | | ||
go.sum | ||
examples/morpheusvm/go.sum | ||
- name: Run load tests | ||
working-directory: ./examples/morpheusvm | ||
shell: bash | ||
run: GOAMD64=${{ matrix.level }} scripts/tests.load.sh | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
# Copyright (C) 2023, Ava Labs, Inc. All rights reserved. | ||
# See the file LICENSE for licensing terms. | ||
|
||
name: MorpheusVM Release | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
tags: | ||
- "*" | ||
pull_request: | ||
types: [labeled,synchronize,reopened] | ||
|
||
jobs: | ||
morpheusvm-release: | ||
# We build with 20.04 to maintain max compatibility: https://github.com/golang/go/issues/57328 | ||
runs-on: ubuntu-20.04-32 | ||
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.event.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'run release') }} | ||
steps: | ||
- name: Git checkout | ||
uses: actions/checkout@v3 | ||
- name: Set up Go | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: "1.20" | ||
check-latest: true | ||
cache: true | ||
cache-dependency-path: | | ||
go.sum | ||
examples/morpheusvm/go.sum | ||
- name: Set up arm64 cross compiler | ||
run: | | ||
sudo apt-get -y update | ||
sudo apt-get -y install gcc-aarch64-linux-gnu | ||
- name: Checkout osxcross | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: tpoechtrager/osxcross | ||
path: osxcross | ||
- name: Build osxcross | ||
run: | | ||
sudo apt-get -y install clang llvm-dev libxml2-dev uuid-dev libssl-dev bash patch make tar xz-utils bzip2 gzip sed cpio libbz2-dev | ||
cd osxcross | ||
wget https://github.com/joseluisq/macosx-sdks/releases/download/12.3/$MACOS_SDK_FNAME -O tarballs/$MACOS_SDK_FNAME | ||
echo $MACOS_SDK_CHECKSUM tarballs/$MACOS_SDK_FNAME | sha256sum -c - | ||
UNATTENDED=1 ./build.sh | ||
echo $PWD/target/bin >> $GITHUB_PATH | ||
env: | ||
MACOS_SDK_FNAME: MacOSX12.3.sdk.tar.xz | ||
MACOS_SDK_CHECKSUM: 3abd261ceb483c44295a6623fdffe5d44fc4ac2c872526576ec5ab5ad0f6e26c | ||
- name: Run GoReleaser | ||
uses: goreleaser/goreleaser-action@v2 | ||
with: | ||
distribution: goreleaser | ||
version: latest | ||
args: release | ||
workdir: ./examples/morpheusvm/ | ||
env: | ||
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Archive Builds | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: dist | ||
path: ./examples/morpheusvm/dist | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Copyright (C) 2023, Ava Labs, Inc. All rights reserved. | ||
# See the file LICENSE for licensing terms. | ||
|
||
name: MorpheusVM Static Analysis | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
jobs: | ||
morpheusvm-lint: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 10 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Set up Go | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: "1.20" | ||
check-latest: true | ||
cache: true | ||
cache-dependency-path: | | ||
go.sum | ||
examples/morpheusvm/go.sum | ||
- name: Run static analysis tests | ||
working-directory: ./examples/morpheusvm | ||
shell: bash | ||
run: scripts/tests.lint.sh | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Copyright (C) 2023, Ava Labs, Inc. All rights reserved. | ||
# See the file LICENSE for licensing terms. | ||
|
||
name: MorpheusVM Sync Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
types: [labeled,synchronize,reopened] | ||
|
||
jobs: | ||
morpheusvm-sync-tests: | ||
if: ${{ github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'run sync') }} | ||
runs-on: | ||
labels: ubuntu-20.04-32 | ||
timeout-minutes: 25 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Set up Go | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: "1.20" | ||
check-latest: true | ||
cache: true | ||
cache-dependency-path: | | ||
go.sum | ||
examples/morpheusvm/go.sum | ||
- name: Run sync tests | ||
working-directory: ./examples/morpheusvm | ||
shell: bash | ||
run: scripts/run.sh | ||
env: | ||
MODE: "full-test" | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
# Copyright (C) 2023, Ava Labs, Inc. All rights reserved. | ||
# See the file LICENSE for licensing terms. | ||
|
||
name: MorpheusVM Unit Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
types: [labeled,synchronize,reopened] | ||
|
||
jobs: | ||
morpheusvm-unit-tests: | ||
if: ${{ github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'run unit') }} | ||
runs-on: | ||
labels: ubuntu-20.04-32 | ||
timeout-minutes: 10 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Set up Go | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: "1.20" | ||
check-latest: true | ||
cache: true | ||
cache-dependency-path: | | ||
go.sum | ||
examples/morpheusvm/go.sum | ||
- name: Run unit tests | ||
working-directory: ./examples/morpheusvm | ||
shell: bash | ||
run: scripts/tests.unit.sh | ||
- name: Run integration tests | ||
working-directory: ./examples/morpheusvm | ||
shell: bash | ||
run: scripts/tests.integration.sh | ||
- name: Archive code coverage results (text) | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: code-coverage-out | ||
path: ./examples/morpheusvm/integration.coverage.out | ||
- name: Archive code coverage results (html) | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: code-coverage-html | ||
path: ./examples/morpheusvm/integration.coverage.html | ||
- name: Run e2e tests | ||
working-directory: ./examples/morpheusvm | ||
shell: bash | ||
run: scripts/run.sh | ||
env: | ||
MODE: "test" | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -57,6 +57,7 @@ dist/ | |
*.pk | ||
tmp-storage-testing | ||
.token-cli* | ||
.morpheus-cli* | ||
*.html | ||
data/ | ||
osxcross/ |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May make sense to remove
labeled
(adding labels will interrupt all other label jobs).