Verified Commit 0d50efb3 authored by Denis_P's avatar Denis_P 🏑
Browse files

CI: revert me

parent a3cdd482
Pipeline #120033 passed with stage
in 4 minutes and 43 seconds
......@@ -66,87 +66,12 @@ workflow:
#### stage: check
check-std:
stage: check
<<: *docker-env
script:
- for crate in ${ALL_CRATES}; do
cargo check --verbose --all-features --manifest-path crates/${crate}/Cargo.toml;
done
check-wasm:
stage: check
<<: *docker-env
script:
- for crate in ${ALSO_WASM_CRATES}; do
cargo check --verbose --no-default-features --target wasm32-unknown-unknown --manifest-path crates/${crate}/Cargo.toml;
done
#### stage: workspace
build-std:
stage: workspace
<<: *docker-env
needs:
- job: check-std
artifacts: false
script:
- for crate in ${ALL_CRATES}; do
cargo build --verbose --all-features --release --manifest-path crates/${crate}/Cargo.toml;
done
build-wasm:
stage: workspace
<<: *docker-env
needs:
- job: check-wasm
artifacts: false
script:
- for crate in ${ALSO_WASM_CRATES}; do
cargo build --verbose --no-default-features --release --target wasm32-unknown-unknown --manifest-path crates/${crate}/Cargo.toml;
done
test:
stage: workspace
<<: *docker-env
needs:
- job: check-std
artifacts: false
variables:
# Since we run the tests with `--all-features` this implies the feature
# `ink-fuzz-tests` as well -- i.e. the fuzz tests are run.
# There's no way to disable a single feature while enabling all features
# at the same time, hence we use this workaround.
QUICKCHECK_TESTS: 0
script:
- cargo test --verbose --all-features --no-fail-fast --workspace
docs:
stage: workspace
<<: *docker-env
variables:
RUSTDOCFLAGS: -Dwarnings
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}-doc"
when: on_success
expire_in: 7 days
paths:
- ./crate-docs/
script:
- cargo doc --no-deps --all-features
-p scale-info -p ink_metadata
-p ink_env -p ink_storage -p ink_storage_derive
-p ink_primitives -p ink_prelude
-p ink_lang -p ink_lang_macro -p ink_lang_ir -p ink_lang_codegen
- mv ${CARGO_TARGET_DIR}/doc ./crate-docs
codecov:
stage: workspace
<<: *docker-env
needs:
- job: check-std
artifacts: false
# needs:
# - job: check-std
# artifacts: false
variables:
# For codecov it's sufficient to run the fuzz tests only once.
QUICKCHECK_TESTS: 1
......@@ -180,168 +105,3 @@ codecov:
--ignore "/*" --ignore "tests/*" --output-path lcov-lines.info
- rust-covfix lcov-lines.info --output lcov-lines-fixed.info
- bash <(curl -s https://codecov.io/bash) -f lcov-lines-fixed.info
clippy-std:
stage: workspace
<<: *docker-env
needs:
- job: check-std
artifacts: false
script:
- for crate in ${ALL_CRATES}; do
cargo clippy --verbose --all-features --manifest-path crates/${crate}/Cargo.toml -- -D warnings;
done
clippy-wasm:
stage: workspace
<<: *docker-env
needs:
- job: check-wasm
artifacts: false
script:
- for crate in ${ALSO_WASM_CRATES}; do
cargo clippy --verbose --no-default-features --manifest-path crates/${crate}/Cargo.toml --target wasm32-unknown-unknown -- -D warnings;
done
fmt:
stage: workspace
<<: *docker-env
script:
- cargo fmt --verbose --all -- --check
# For the UI tests we need to disable the license check
- cargo fmt --verbose --all -- --check --config=license_template_path="" crates/lang/macro/tests/ui/{pass,fail}/*.rs
#### stage: examples
examples-test:
stage: examples
<<: *docker-env
needs:
- job: clippy-std
artifacts: false
script:
- for example in examples/*/; do
cargo test --verbose --manifest-path ${example}/Cargo.toml;
done
examples-fmt:
stage: examples
<<: *docker-env
script:
- for example in examples/*/; do
cargo fmt --verbose --manifest-path ${example}/Cargo.toml -- --check;
done
examples-clippy-std:
stage: examples
<<: *docker-env
needs:
- job: clippy-std
artifacts: false
script:
- for example in examples/*/; do
cargo clippy --verbose --manifest-path ${example}/Cargo.toml -- -D warnings;
done
examples-clippy-wasm:
stage: examples
<<: *docker-env
script:
- for example in examples/*/; do
cargo clippy --verbose --manifest-path ${example}/Cargo.toml --no-default-features --target wasm32-unknown-unknown -- -D warnings;
done
examples-contract-build:
stage: examples
<<: *docker-env
script:
- cargo contract -V
- for example in examples/*/; do
pushd $example &&
cargo contract build &&
popd;
done
#### stage: publish
publish-docs:
stage: publish
<<: *docker-env
needs:
- job: docs
artifacts: true
variables:
GIT_DEPTH: 0
GIT_STRATEGY: none
rules:
- if: $CI_PIPELINE_SOURCE == "web"
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_REF_NAME == "master"
- if: $CI_COMMIT_REF_NAME == "tags"
script:
- rm -rf /tmp/*
- unset CARGO_TARGET_DIR
# Set git config
- rm .git/config
- git config user.email "devops-team@parity.io"
- git config user.name "${GITHUB_USER}"
- git config remote.origin.url "https://${GITHUB_TOKEN}@github.com/paritytech/ink.git"
- git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
- git fetch origin gh-pages
# saving README and docs
- cp -r ./crate-docs/ /tmp/doc/
- cp README.md /tmp/doc/
- cp -r .images/ /tmp/doc/
- git checkout gh-pages
- mv _config.yml /tmp/doc/
# remove everything and restore generated docs, README and Jekyll config
- rm -rf ./*
- rm -rf ./.images
- mv /tmp/doc/* .
- mv /tmp/doc/.images .
# Upload files
- git add --all --force
- git status
- git commit -m "Updated docs for ${CI_COMMIT_REF_NAME} and pushed to gh-pages"
- git push origin gh-pages --force
after_script:
- rm -rf .git/ ./*
#### stage: fuzz
fuzz-tests:
stage: fuzz
<<: *docker-env
variables:
# The QUICKCHECK_TESTS default is 100
QUICKCHECK_TESTS: 50000
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_REF_NAME == "master"
script:
# We fuzz-test only crates which possess the `ink-fuzz-tests` feature
- all_tests_passed=0
- for crate in ${ALL_CRATES}; do
if grep "ink-fuzz-tests =" crates/${crate}/Cargo.toml;
then
cargo test --verbose --features ink-fuzz-tests --manifest-path crates/${crate}/Cargo.toml --no-fail-fast -- fuzz_;
all_tests_passed=$(( all_tests_passed | $? ));
fi
done
- if [ $all_tests_passed -eq 0 ]; then exit 0; fi
- |
curl -X "POST" "https://api.github.com/repos/paritytech/ink/issues" \
-H "Cookie: logged_in=no" \
-H "Authorization: token ${GITHUB_TOKEN}" \
-H "Content-Type: application/json; charset=utf-8" \
-d $'{
"title": "[ci] Failing fuzz tests on master ('"$( date +"%d %b %Y" )"')",
"body": "The CI job ['"${CI_JOB_ID}"']('"${CI_JOB_URL}"') just failed.\n\nThe offending commit is ['"${CI_COMMIT_TITLE}"'](https://github.com/paritytech/ink/commit/'"${CI_COMMIT_SHA}"').",
"assignees": [],
"labels": [
"P-high"
]
}'
- exit ${all_tests_passed}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment