Skip to content

Commit

Permalink
Merge branch 'master' into feature/engine-object-file
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkMcCaskey authored Sep 25, 2020
2 parents d07b9ee + 75f3f0e commit e23ff69
Show file tree
Hide file tree
Showing 64 changed files with 973 additions and 1,236 deletions.
5 changes: 5 additions & 0 deletions codecov.yml → .github/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,8 @@ coverage:
default:
target: auto
threshold: 1%
patch:
default:
target: auto
threshold: 5%
base: auto
143 changes: 112 additions & 31 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
# Uncomment this once LLVM toolchain is added to the CI
# docs:
# name: Docs
# runs-on: ubuntu-latest
# steps:
# - name: Install Rust
# uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: 1.45.0
# override: true
# components: rustfmt, clippy
# - run: make doc-local

name: core tests

env:
Expand All @@ -23,24 +9,56 @@ on:
- 'master'
- 'staging'
- 'trying'
tags:
# this is _not_ a regex, see: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet
- '[0-9]+.[0-9]+.[0-9]+*'
jobs:
setup:
name: Set up
runs-on: ubuntu-latest
outputs:
VERSION: ${{ steps.setup.outputs.VERSION }}
DOING_RELEASE: ${{ steps.setup.outputs.DOING_RELEASE }}
steps:
- name: Set up env vars
id: setup
shell: bash
run: |
VERSION=${GITHUB_REF/refs\/tags\//}
echo ::set-output name=VERSION::${VERSION}
DOING_RELEASE=$(echo $VERSION | grep -c '[0-9]\+\.[0-9]\+\.[0-9]\+\(-.*\)\?' || true)
echo ::set-output name=DOING_RELEASE::${DOING_RELEASE}
echo $VERSION
echo $DOING_RELEASE
test:
name: Test on ${{ matrix.build }}
runs-on: ${{ matrix.os }}
needs: setup
strategy:
fail-fast: false
matrix:
build: [linux, macos, windows]
build: [linux, macos, windows, linux-aarch64]
include:
- build: linux
os: ubuntu-latest
rust: 1.45.0
rust: 1.45.2
llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz'
artifact_name: 'wasmer-linux-amd64'
- build: macos
os: macos-latest
rust: 1.45.0
rust: 1.45.2
llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-apple-darwin.tar.xz'
artifact_name: 'wasmer-macos-amd64'
- build: windows
os: windows-latest
rust: 1.45.0
rust: 1.45.2
artifact_name: 'wasmer-windows-amd64'
- build: linux-aarch64
os: [self-hosted, linux, ARM64]
rust: 1.45.2
llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-aarch64-linux-gnu.tar.xz'
artifact_name: 'wasmer-linux-aarch64'
env:
CARGO_SCCACHE_VERSION: 0.2.13
SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob
Expand Down Expand Up @@ -96,24 +114,16 @@ jobs:
# echo ::add-path::C:/llvm-10/bin
# echo ::set-env name=LLVM_SYS_100_PREFIX::C:/llvm-10
# echo ::set-env name=LIBCLANG_PATH::C:/llvm-10/bin/libclang.dll
- name: Install LLVM (macOS)
if: matrix.os == 'macos-latest'
- name: Install LLVM (Unix)
if: matrix.os != 'windows-latest'
run: |
curl --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-apple-darwin.tar.xz -L -o llvm.tar.xz
curl --proto '=https' --tlsv1.2 -sSf ${{ matrix.llvm_url }} -L -o llvm.tar.xz
mkdir -p ${{ env.LLVM_DIR }}
tar xf llvm.tar.xz --strip-components=1 -C ${{ env.LLVM_DIR }}
echo "::add-path::${{ env.LLVM_DIR }}/bin"
echo "::set-env name=LLVM_SYS_100_PREFIX::${{ env.LLVM_DIR }}"
env:
LLVM_DIR: ${{ github.workspace }}/llvm-10
- name: Install LLVM (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
curl --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -L -o llvm.tar.xz
mkdir -p /opt/llvm-10
tar xf llvm.tar.xz --strip-components=1 -C /opt/llvm-10
echo ::add-path::/opt/llvm-10/bin
echo ::set-env name=LLVM_SYS_100_PREFIX::/opt/llvm-10
- name: Set up dependencies for Mac OS
run: brew install automake
if: matrix.os == 'macos-latest'
Expand All @@ -129,9 +139,80 @@ jobs:
- name: Build Wasmer binary
run: |
make build-wasmer
# TODO: build wapm
# make build-wapm
- name: Build Wapm binary
run: |
make build-wapm
if: needs.setup.outputs.DOING_RELEASE == '1'
- name: Package Wasmer
run: |
make package
if: needs.setup.outputs.DOING_RELEASE == '1'
- name: Upload Artifacts
uses: actions/upload-artifact@v2
if: needs.setup.outputs.DOING_RELEASE == '1'
with:
name: ${{ matrix.artifact_name }}
path: dist

release:
needs: [setup, test]
runs-on: ubuntu-latest
if: needs.setup.outputs.DOING_RELEASE == '1'
steps:
- name: Download the Artifacts
uses: actions/download-artifact@v2
with:
path: artifacts
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ needs.setup.outputs.VERSION }}
release_name: Release ${{ needs.setup.outputs.VERSION }}
draft: true
prerelease: false
- name: Upload Release Asset Windows
id: upload-release-asset-windows
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: artifacts/wasmer-windows-amd64/wasmer-windows.exe
asset_name: wasmer-windows.exe
asset_content_type: application/vnd.microsoft.portable-executable
- name: Upload Release Asset Linux amd64
id: upload-release-asset-linux-amd64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/wasmer-linux-amd64/wasmer-linux-amd64.tar.gz
asset_name: wasmer-linux-amd64.tar.gz
asset_content_type: application/gzip
- name: Upload Release Asset Mac
id: upload-release-asset-mac
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/wasmer-macos-amd64/wasmer-darwin-amd64.tar.gz
asset_name: wasmer-darwin-amd64.tar.gz
asset_content_type: application/gzip
- name: Upload Release Asset Linux aarch64
id: upload-release-asset-linux-aarch64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/wasmer-linux-aarch64/wasmer-linux-aarch64.tar.gz
asset_name: wasmer-linux-aarch64.tar.gz
asset_content_type: application/gzip

audit:
name: Audit
Expand Down
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
# Changelog

## **[Unreleased]**
- [#1645](https://github.com/wasmerio/wasmer/pull/1645) Move the install script to https://github.com/wasmerio/wasmer-install

## 1.0.0-alpha3 - 2020-09-14
- [#1620](https://github.com/wasmerio/wasmer/pull/1620) Fix bug causing the Wapm binary to not be packaged with the release
- [#1619](https://github.com/wasmerio/wasmer/pull/1619) Improve error message in engine-native when C compiler is missing

## 1.0.0-alpha02.0 - 2020-09-11
- [#1602](https://github.com/wasmerio/wasmer/pull/1602) Fix panic when calling host functions with negative numbers in certain situations
- [#1590](https://github.com/wasmerio/wasmer/pull/1590) Fix soundness issue in API of vm::Global
- [#1566](https://github.com/wasmerio/wasmer/pull/1566) Add support for opening special Unix files to the WASI FS

## TODO: 1.0.0-alpha1.0
## TODO: 1.0.0-alpha01.0
- Wasmer refactor lands

## TODO: 17...
Expand Down
Loading

0 comments on commit e23ff69

Please sign in to comment.