4 Commits

Author SHA1 Message Date
rzadp 972a50ca8a copy from PR, run --help 2024-05-31 09:18:21 +02:00
rzadp 99a6e35248 rerun 2024-05-29 14:18:40 +02:00
rzadp 4443c86c7d try different base img 2024-05-29 13:59:32 +02:00
rzadp 8deba835b7 Try to build docker on ci 2024-05-29 13:18:19 +02:00
7 changed files with 73 additions and 51 deletions
+3
View File
@@ -0,0 +1,3 @@
target/
Dockerfile
.dockerignore
-1
View File
@@ -1 +0,0 @@
./ubuntu-prerequisites.sh
-8
View File
@@ -1,8 +0,0 @@
#!/usr/env sh
set -eu
apt-get update
apt-get install -y curl git protobuf-compiler build-essential libclang-15-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. "$HOME/.cargo/env"
+33
View File
@@ -0,0 +1,33 @@
name: Build docker image
on:
push:
branches:
- main
- master
- rzadp/test-dockerfile
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# We've run into out-of-disk error when compiling Polkadot in the next step, so we free up some space this way.
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # 1.3.1
with:
android: true # This alone is a 12 GB save.
# We disable the rest because it caused some problems. (they're enabled by default)
# The Android removal is enough.
dotnet: false
haskell: false
large-packages: false
swap-storage: false
- name: Build the docker image
run: docker build . -t polkadot-sdk-minimal-template
- name: Try running the container
run: docker run --rm polkadot-sdk-minimal-template --help
+9 -28
View File
@@ -6,27 +6,21 @@ on:
branches:
- main
- master
- rzadp/prerequisites
jobs:
ci:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
container:
- "ubuntu:22.04"
- "ubuntu:latest"
- "debian:latest"
container: ${{ matrix.container }}
steps:
- uses: actions/checkout@v3
- name: Run the prerequisites script
- name: Rust compilation prerequisites
run: |
DIST="$(echo "${{ matrix.container }}" | cut -d':' -f1)"
sh ./.github/scripts/${DIST}-prerequisites.sh
sudo apt update
sudo apt install -y \
protobuf-compiler
rustup target add wasm32-unknown-unknown
rustup component add rustfmt clippy rust-src
# We've run into out-of-disk error when compiling Polkadot in the next step, so we free up some space this way.
- name: Free Disk Space (Ubuntu)
@@ -40,20 +34,7 @@ jobs:
large-packages: false
swap-storage: false
- name: Build the template
run: /github/home/.cargo/bin/cargo build
- name: Check if it compiles
id: check-compilation
run: cargo check && cargo test
timeout-minutes: 90
- name: Run clippy
run: |
SKIP_WASM_BUILD=1 /github/home/.cargo/bin/cargo clippy --all-targets --locked --workspace --quiet
SKIP_WASM_BUILD=1 /github/home/.cargo/bin/cargo clippy --all-targets --all-features --locked --workspace --quiet
timeout-minutes: 30
- name: Run the tests
run: /github/home/.cargo/bin/cargo test
timeout-minutes: 15
- name: Build the docs
run: /github/home/.cargo/bin/cargo doc --all-features --workspace --no-deps
timeout-minutes: 15
+28
View File
@@ -0,0 +1,28 @@
FROM docker.io/paritytech/ci-unified:latest as builder
WORKDIR /polkadot
COPY . /polkadot
RUN cargo fetch
RUN cargo build --locked --release
FROM docker.io/parity/base-bin:latest
COPY --from=builder /polkadot/target/release/minimal-template-node /usr/local/bin
USER root
RUN useradd -m -u 1001 -U -s /bin/sh -d /polkadot polkadot && \
mkdir -p /data /polkadot/.local/share && \
chown -R polkadot:polkadot /data && \
ln -s /data /polkadot/.local/share/polkadot && \
# unclutter and minimize the attack surface
rm -rf /usr/bin /usr/sbin && \
# check if executable works in this container
/usr/local/bin/minimal-template-node --version
USER polkadot
EXPOSE 30333 9933 9944 9615
VOLUME ["/data"]
ENTRYPOINT ["/usr/local/bin/minimal-template-node"]
-14
View File
@@ -1,14 +0,0 @@
[toolchain]
channel = "stable"
components = [
"cargo",
"clippy",
"rust-analyzer",
"rust-src",
"rust-std",
"rustc",
"rustc-dev",
"rustfmt",
]
targets = ["wasm32-unknown-unknown"]
profile = "minimal"