diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 18cff7054..000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,78 +0,0 @@ -version: "{build} ~ {branch}" - -os: Visual Studio 2017 - -branches: - only: - - staging - - trying - - master - -environment: - matrix: - - CHANNEL: stable - ARCH: x86_64 - ABI: msvc - TARGET: x86_64-pc-windows-msvc - -cache: - - 'C:\Users\appveyor\.cargo' - - target - -install: - # Install LLVM - - mkdir C:\projects\deps - - cd C:\projects\deps - - appveyor DownloadFile https://github.com/wasmerio/windows-llvm-build/releases/download/v8.0.0/llvm-8.0.0-install.zip -FileName llvm-8.0.0-install.zip - - 7z x llvm-8.0.0-install.zip - - C:\projects\deps\llvm-8.0.0-install\bin\llvm-config.exe --version - - set "LLVM_SYS_80_PREFIX=C:\projects\deps\llvm-8.0.0-install" - - cd "%APPVEYOR_BUILD_FOLDER%" - - # Install Rust - # uncomment these lines if the cache is cleared, or if we must re-install rust for some reason - - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe - - rustup-init.exe -yv --default-host %target% - - set PATH=%PATH%;%USERPROFILE%\.cargo\bin - - rustup default stable-%target% - - rustup update - - rustc -vV - - cargo -vV - - # Install InnoSetup - - appveyor-retry appveyor DownloadFile https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2017-08-22-is.exe - - 2017-08-22-is.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- - - set PATH="C:\Program Files (x86)\Inno Setup 5";%PATH% -# uncomment to RDP to appveyor -# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) - -build_script: - - cargo build --release --verbose --features backend-llvm - - cargo build --release --manifest-path lib/runtime-c-api/Cargo.toml - -test_script: - - cargo test --manifest-path lib/spectests/Cargo.toml --release --features clif -- --nocapture - -before_deploy: - - appveyor PushArtifact target\release\wasmer_runtime_c_api.dll - - git submodule init - - git submodule update - - cargo build --release --manifest-path wapm-cli/Cargo.toml --features "telemetry update-notifications" - - cd ./src/installer - - iscc wasmer.iss - - copy /y .\WasmerInstaller.exe ..\..\WasmerInstaller-%APPVEYOR_REPO_TAG_NAME%.exe - - appveyor PushArtifact ..\..\WasmerInstaller-%APPVEYOR_REPO_TAG_NAME%.exe - - cd ..\..\ - -matrix: - fast_finish: true - -deploy: - description: 'WasmerInstaller' - artifact: /.*\.exe/ - auth_token: - secure: BbreGNDJy20922za7OhJG5TERzfX+dJSBQwttNTJkLvszbqMov6hhAtRb3P45hpf - provider: GitHub - on: - branch: master - appveyor_repo_tag: true diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 5abff64df..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,439 +0,0 @@ -run_with_build_env_vars: &run_with_build_env_vars - environment: - LLVM_SYS_80_PREFIX: /home/circleci/project/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/ - -run_install_dependencies: &run_install_dependencies - run: - name: install dependencies - command: | - sudo apt-get install -y cmake - curl -O https://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz - tar xf clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz - -version: 2 -jobs: - changelog: - docker: - - image: docker:stable-git - steps: - - checkout - - run: - command: ! git diff --exit-code CHANGELOG.md - - # Job used for testing - lint: - docker: - - image: circleci/rust:latest - <<: *run_with_build_env_vars - steps: - - checkout - - run: - name: "Pull Submodules" - command: | - git submodule update --init - - restore_cache: - keys: - - v8-lint-{{ arch }}-{{ checksum "Cargo.lock" }} - - <<: *run_install_dependencies - - run: - name: Install lint deps - command: | - git config --global --unset url."ssh://git@github.com".insteadOf || true - # rustup toolchain install nightly-2019-06-10 - # rustup default nightly-2019-06-10 - rustup component add rustfmt - rustup component add clippy || cargo install --git https://github.com/rust-lang/rust-clippy/ --force clippy - - run: - name: Execute lints - command: | - cargo fmt --all -- --check - - save_cache: - paths: - - /usr/local/cargo/registry - - target/debug/.fingerprint - - target/debug/build - - target/debug/deps - key: v8-lint-{{ arch }}-{{ checksum "Cargo.lock" }} - - test-stable: - docker: - - image: circleci/rust:1.36 - <<: *run_with_build_env_vars - steps: - - checkout - - run: - name: "Pull Submodules" - command: | - git submodule update --init - - restore_cache: - keys: - - v8-test-cargo-cache-linux-stable-{{ arch }}-{{ checksum "Cargo.lock" }} - - <<: *run_install_dependencies - - run: - name: Test everything (except singlepass) - command: | - make cranelift - make llvm - make test-rest - - run: - name: Integration Tests - command: make integration-tests - - save_cache: - paths: - - /usr/local/cargo/registry - - target/release/.fingerprint - - target/release/build - - target/release/deps - key: v8-test-cargo-cache-linux-stable-{{ arch }}-{{ checksum "Cargo.lock" }} - - test: - docker: - - image: circleci/rust:latest - <<: *run_with_build_env_vars - steps: - - checkout - - run: - name: "Pull Submodules" - command: | - git submodule update --init - - restore_cache: - keys: - - v8-test-cargo-cache-linux-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - <<: *run_install_dependencies - - run: rustup default nightly-2019-06-10 - - run: - name: Tests - command: make test - - run: - name: Debug flag checked - command: | - cargo check --features "debug" --release - - run: - name: Check - command: | - make check - - run: - name: Integration Tests - command: make integration-tests - - save_cache: - paths: - - /usr/local/cargo/registry - - target/release/.fingerprint - - target/release/build - - target/release/deps - key: v8-test-cargo-cache-linux-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - test-rust-example: - docker: - - image: circleci/rust:latest - <<: *run_with_build_env_vars - steps: - - checkout - - run: - name: "Check Wasmer Rust example" - command: | - git clone https://github.com/wasmerio/wasmer-rust-example - rustup default stable - rustup target add wasm32-unknown-unknown - cd wasmer-rust-example - cd wasm-sample-app - cargo build --release - cd .. - sed -i 's/wasmer-runtime.*/wasmer-runtime = \{ path = "..\/lib\/runtime" \}/g' Cargo.toml - cargo run - cargo test - - test-macos: - macos: - xcode: "9.0" - steps: - - checkout - - run: - name: "Pull Submodules" - command: | - git submodule update --init - - restore_cache: - keys: - - v8-cargo-cache-darwin-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - run: - name: Install crate dependencies - command: | - # Installing cmake outside of brew to improve speed - curl -O https://cmake.org/files/v3.4/cmake-3.4.1-Darwin-x86_64.tar.gz - tar xf cmake-3.4.1-Darwin-x86_64.tar.gz - export PATH="`pwd`/cmake-3.4.1-Darwin-x86_64/CMake.app/Contents/bin:$PATH" - # Installing LLVM outside of brew - curl -O https://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-apple-darwin.tar.xz - tar xf clang+llvm-8.0.0-x86_64-apple-darwin.tar.xz - - run: - name: Install Rust - command: | - curl -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly-2019-06-10 - export PATH="$HOME/.cargo/bin:$PATH" - cargo --version - - run: - name: Tests - command: | - export PATH="$HOME/.cargo/bin:$PATH" - export PATH="`pwd`/cmake-3.4.1-Darwin-x86_64/CMake.app/Contents/bin:$PATH" - export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-apple-darwin/" - # We increase the ulimit for fixing cargo unclosed files in mac - ulimit -n 8000 - sudo sysctl -w kern.maxfiles=655360 kern.maxfilesperproc=327680 - make test - - run: - name: Check - command: | - export PATH="$HOME/.cargo/bin:$PATH" - export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-apple-darwin/" - make check - - run: - name: Integration Tests - command: | - export PATH="$HOME/.cargo/bin:$PATH" - export PATH="`pwd`/cmake-3.4.1-Darwin-x86_64/CMake.app/Contents/bin:$PATH" - export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-apple-darwin/" - make integration-tests - - save_cache: - paths: - - ~/.cargo/registry/ - - target/release/.fingerprint - - target/release/build - - target/release/deps - key: v8-cargo-cache-darwin-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - test-and-build: - docker: - - image: circleci/rust:latest - steps: - - checkout - - run: - name: "Pull Submodules" - command: | - git submodule update --init - - run: - name: "Pull dependencies" - command: | - git submodule init - git submodule update - - restore_cache: - keys: - - v8-cargo-cache-linux-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - run: - name: Install dependencies - command: | - sudo apt-get install -y cmake - curl -O https://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz - tar xf clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz - - run: rustup default nightly-2019-06-10 - - run: - name: Tests - command: | - export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/" - make test - - run: - name: Release Build - command: | - export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/" - make release - cargo build --release --manifest-path wapm-cli/Cargo.toml --features "telemetry update-notifications" - mkdir -p artifacts - VERSION=$(cargo pkgid | cut -d# -f2 | cut -d: -f2) - # GIT_VERSION=$(git describe --exact-match --tags) - echo "${VERSION}" >> artifacts/version - echo "${CIRCLE_TAG}" >> artifacts/git_version - make build-install - cp ./wasmer.tar.gz ./artifacts/$(./scripts/binary-name.sh) - - run: - name: Dynamic library - command: | - cargo build --release --manifest-path lib/runtime-c-api/Cargo.toml - cp target/release/libwasmer_runtime_c_api.so ./artifacts - - persist_to_workspace: - root: . - paths: - - artifacts - - save_cache: - paths: - - /usr/local/cargo/registry - - target/release/.fingerprint - - target/release/build - - target/release/deps - - wapm-cli/target/release/.fingerprint - - wapm-cli/target/release/build - - wapm-cli/target/release/deps - key: v8-cargo-cache-linux-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - test-and-build-macos: - macos: - xcode: "9.0" - steps: - - checkout - - run: - name: "Pull dependencies" - command: | - git submodule init - git submodule update - - restore_cache: - keys: - - v8-cargo-cache-darwin-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - run: - name: Install crate dependencies - command: | - # Installing cmake outside of brew to improve speed - curl -O https://cmake.org/files/v3.4/cmake-3.4.1-Darwin-x86_64.tar.gz - tar xf cmake-3.4.1-Darwin-x86_64.tar.gz - export PATH="`pwd`/cmake-3.4.1-Darwin-x86_64/CMake.app/Contents/bin:$PATH" - # Installing LLVM outside of brew - curl -O https://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-apple-darwin.tar.xz - tar xf clang+llvm-8.0.0-x86_64-apple-darwin.tar.xz - - run: - name: Install Rust - command: | - curl -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly-2019-06-10 - export PATH="$HOME/.cargo/bin:$PATH" - cargo --version - - run: - name: Tests - command: | - export PATH="`pwd`/cmake-3.4.1-Darwin-x86_64/CMake.app/Contents/bin:$PATH" - export PATH="$HOME/.cargo/bin:$PATH" - export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-apple-darwin/" - # We increase the ulimit for fixing cargo unclosed files in mac - ulimit -n 8000 - sudo sysctl -w kern.maxfiles=655360 kern.maxfilesperproc=327680 - - make test - - run: - name: Release Build - command: | - export PATH="`pwd`/cmake-3.4.1-Darwin-x86_64/CMake.app/Contents/bin:$PATH" - export PATH="$HOME/.cargo/bin:$PATH" - export LLVM_SYS_80_PREFIX="`pwd`/clang+llvm-8.0.0-x86_64-apple-darwin/" - make release - cargo build --release --manifest-path wapm-cli/Cargo.toml --features "telemetry update-notifications" - mkdir -p artifacts - make build-install - cp ./wasmer.tar.gz ./artifacts/$(./scripts/binary-name.sh) - # VERSION=$(cargo pkgid | cut -d# -f2 | cut -d: -f2) - # echo "${VERSION}" >> artifacts/version - - run: - name: Generate dynamic library for the runtime C API - command: | - export PATH="$HOME/.cargo/bin:$PATH" - cargo build --release --manifest-path lib/runtime-c-api/Cargo.toml - install_name_tool -id "@rpath/libwasmer_runtime_c_api.dylib" target/release/libwasmer_runtime_c_api.dylib - cp target/release/libwasmer_runtime_c_api.dylib ./artifacts - - persist_to_workspace: - root: . - paths: - - artifacts - - save_cache: - paths: - - ~/.cargo/registry/ - - target/release/.fingerprint - - target/release/build - - target/release/deps - - wapm-cli/target/release/.fingerprint - - wapm-cli/target/release/build - - wapm-cli/target/release/deps - key: v8-cargo-cache-darwin-nightly-{{ arch }}-{{ checksum "Cargo.lock" }} - - publish-github-release: - docker: - - image: cibuilds/github - steps: - - attach_workspace: - at: . - - run: - name: "Publish Release on GitHub" - command: | - # go get github.com/tcnksm/ghr - # VERSION=$(git log -1 --pretty=%B) - # VERSION=$(./artifacts/ --version) - VERSION=$(cat ./artifacts/version) - # VERSION_TAG=${CIRCLE_TAG} - VERSION_TAG=$(cat ./artifacts/git_version) - LATEST_VERSION_PUBLISHED_ON_CRATES=$(curl -s https://raw.githubusercontent.com/rust-lang/crates.io-index/master/wa/sm/wasmer-runtime | tail -n 1 | sed 's/.*"vers":"\([^"]*\)".*/\1/') - if ( [ $VERSION_TAG -ne $LATEST_VERSION_PUBLISHED_ON_CRATES ] ) then { echo "Could not detect version published to crates.io; make sure we've published the crates before publishing the Wasmer binary"; exit 1; } else { true; } fi - rm ./artifacts/version - rm ./artifacts/git_version - # VERSION_TAG=$(git describe --exact-match --tags) - #if [ "$VERSION" == "$VERSION_TAG" ]; then - # echo "Versions match, publishing to Github" - ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} ${VERSION} ./artifacts/ || true - #else - # echo "Versions don't match. Wasmer output version (wasmer --version) is ${VERSION} while Git tag is ${VERSION_TAG}" - # exit 1 - #fi - trigger-benchmark-build: - docker: - - image: circleci/rust:latest - steps: - - run: - name: "Trigger Benchmark Build" - command: | - if [[ -z "${CIRCLE_API_USER_TOKEN}" ]]; then - echo "CIRCLE_API_USER_TOKEN environment variable not set" - exit 1 - else - echo "Triggering benchmark build" - curl -u ${CIRCLE_API_USER_TOKEN} \ - -d build_parameters[CIRCLE_JOB]=bench \ - https://circleci.com/api/v1.1/project/github/wasmerio/wasmer-bench/tree/master - fi -workflows: - version: 2 - main: - jobs: - - changelog - - lint - - test: - filters: - branches: - only: - - trying - - staging - - test-rust-example: - filters: - branches: - only: - - trying - - staging - - test-macos: - filters: - branches: - only: - - trying - - staging - - test-and-build: - filters: - branches: - only: - - master - - test-and-build-macos: - filters: - branches: - only: - - master - - test-stable: - filters: - branches: - only: - - trying - - staging - - publish-github-release: - requires: - - lint - - test-and-build - - test-and-build-macos - filters: - branches: - only: master - - trigger-benchmark-build: - requires: - - test-and-build - - lint - filters: - branches: - only: master