This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .travis.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,4 +14,8 @@ matrix:
script:
- cargo test --all
- cargo clean
- ./publish-wasm.sh
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to test this condition without merging the PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally set GH_TOKEN and then manually run the publish script just to make sure it goes through. (You may not have access to the repo, will add you there). At least it will make sure the publish part works (The above condition itself should)

./publish-wasm.sh;
fi
30 changes: 22 additions & 8 deletions build.sh
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
#!/bin/sh
#!/bin/bash

# NOTE `cargo install wasm-gc` before running this script.
# NOTE `cargo install --git https://github.com/pepyakin/wasm-export-table.git`
# This script assumes that all pre-requisites are installed.

set -e

source `dirname "$0"`/common.sh

export CARGO_INCREMENTAL=0

cd demo/runtime/wasm && ./build.sh && cd ../../..
cd substrate/executor/wasm && ./build.sh && cd ../../..
cd substrate/test-runtime/wasm && ./build.sh && cd ../../..
cd polkadot/runtime/wasm && ./build.sh && cd ../../..
cd polkadot/parachain/test-chains && ./build.sh && cd ../../..
# Save current directory.
pushd .

cd $ROOT

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC

./build.sh

cd - >> /dev/null
done

# Restore initial directory.
popd
22 changes: 22 additions & 0 deletions common.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
#!/bin/bash

ROOT=`dirname "$0"`

# A list of directories which contain wasm projects.
SRCS=(
"polkadot/runtime/wasm"
"substrate/executor/wasm"
"demo/runtime/wasm"
"substrate/test-runtime/wasm"
"polkadot/parachain/test-chains/basic_add"
)

# Make pushd/popd silent.

pushd () {
command pushd "$@" > /dev/null
}

popd () {
command popd "$@" > /dev/null
}
2 changes: 1 addition & 1 deletion demo/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions demo/runtime/wasm/init.sh

This file was deleted.

19 changes: 19 additions & 0 deletions init.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -e

echo "*** Initilising WASM build environment"

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable

# Install wasm-gc. It's useful for stripping slimming down wasm binaries.
command -v wasm-gc || \
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

# At the moment of writing, rustc still uses LLD 6 which produces wasm binaries
# that don't export a table. Meanwhile, we are waiting for LLD 7 to come
# in rustc we could use this handy little tool.
command -v wasm-export-table || \
cargo +nightly install --git https://github.com/pepyakin/wasm-export-table.git
12 changes: 12 additions & 0 deletions polkadot/parachain/test-chains/basic_add/build.sh
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -e

# Make LLD produce a binary that imports memory from the outside environment.
export RUSTFLAGS="-C link-arg=--import-memory"

cargo +nightly build --target=wasm32-unknown-unknown --release --no-default-features

for i in basic_add
do
wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm
done
2 changes: 1 addition & 1 deletion polkadot/parachain/test-chains/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

rm -rf ./target
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions polkadot/runtime/wasm/init.sh

This file was deleted.

31 changes: 11 additions & 20 deletions publish-wasm.sh
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
#!/bin/bash

# Publish wasm binaries into the special repository.
# This script assumes that wasm binaries have already been built.
# Requires GH_TOKEN environment variable to be defined.

set -e

source `dirname "$0"`/common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
exit 1
fi

REPO="github.com/paritytech/polkadot-wasm-bin.git"
REPO_AUTH="${GH_TOKEN}:@${REPO}"
SRCS=( "polkadot/runtime/wasm" "substrate/executor/wasm" "demo/runtime/wasm" "substrate/test-runtime/wasm" "polkadot/parachain/test-chains" )
DST=".wasm-binaries"
TARGET="wasm32-unknown-unknown"
UTCDATE=`date -u "+%Y%m%d.%H%M%S.0"`

pushd .

echo "*** Initilising WASM build environment"
cd polkadot/runtime/wasm
./init.sh || true
cd ../../..

for SRC in "${SRCS[@]}"
do
echo "*** Building wasm binaries in $SRC"
cd $SRC
./build.sh
cd ../../..
done

if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "master" ]; then
popd
echo "*** Skipping wasm binary publish"
exit 0
fi

echo "*** Cloning repo"
rm -rf $DST
git clone https://$REPO $DST
Expand Down
2 changes: 1 addition & 1 deletion substrate/executor/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
2 changes: 1 addition & 1 deletion substrate/test-runtime/wasm/build.sh
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e

cargo +nightly build --target=wasm32-unknown-unknown --release
Expand Down
7 changes: 0 additions & 7 deletions substrate/test-runtime/wasm/init.sh

This file was deleted.