Skip to content

Commit

Permalink
chore: add metadatahash, build images only on publish tags
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuel Dare committed Aug 28, 2024
1 parent bc15020 commit bb932e2
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 32 deletions.
33 changes: 13 additions & 20 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,42 @@
name: Publish Docker Image

on:
push:
branches:
- main
tags:
- '*'
pull_request:
branches:
- main
workflow_dispatch:
release:
types: [published]

permissions:
contents: read
packages: write
actions: read
security-events: write
contents: read
packages: write
actions: read
security-events: write

jobs:
publish:
runs-on: SubtensorCI

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ghcr.io/${{ github.repository }}

- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
Expand All @@ -52,4 +45,4 @@ jobs:
tags: |
${{ steps.meta.outputs.tags }}
ghcr.io/${{ github.repository }}:latest
labels: ${{ steps.meta.outputs.labels }}
labels: ${{ steps.meta.outputs.labels }}
11 changes: 9 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -167,5 +167,12 @@ codegen-units = 1

[features]
default = []
try-runtime = ["node-subtensor/try-runtime", "node-subtensor-runtime/try-runtime"]
runtime-benchmarks = ["node-subtensor/runtime-benchmarks", "node-subtensor-runtime/runtime-benchmarks"]
try-runtime = [
"node-subtensor/try-runtime",
"node-subtensor-runtime/try-runtime",
]
runtime-benchmarks = [
"node-subtensor/runtime-benchmarks",
"node-subtensor-runtime/runtime-benchmarks",
]
metadata-hash = ["node-subtensor-runtime/metadata-hash"]
12 changes: 4 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG BASE_IMAGE=ubuntu:20.04

FROM $BASE_IMAGE as builder
FROM $BASE_IMAGE AS builder
SHELL ["/bin/bash", "-c"]

# Set noninteractive mode for apt-get
Expand All @@ -10,29 +10,25 @@ LABEL ai.opentensor.image.authors="[email protected]" \
ai.opentensor.image.vendor="Opentensor Foundation" \
ai.opentensor.image.title="opentensor/subtensor" \
ai.opentensor.image.description="Opentensor Subtensor Blockchain" \
ai.opentensor.image.revision="${VCS_REF}" \
ai.opentensor.image.created="${BUILD_DATE}" \
ai.opentensor.image.documentation="https://docs.bittensor.com"

# Set up Rust environment
ENV RUST_BACKTRACE 1
ENV RUST_BACKTRACE=1
RUN apt-get update && \
apt-get install -y curl build-essential protobuf-compiler clang git && \
rm -rf /var/lib/apt/lists/*

RUN set -o pipefail && curl https://sh.rustup.rs -sSf | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"

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

# Copy entire repository
COPY . /build
WORKDIR /build

# Build the project
RUN cargo build -p node-subtensor --profile production --features runtime-benchmarks --locked
RUN cargo build -p node-subtensor --profile production --features="runtime-benchmarks metadata-hash" --locked

# Verify the binary was produced
RUN test -e /build/target/production/node-subtensor
Expand Down
6 changes: 4 additions & 2 deletions node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ runtime-benchmarks = [
"frame-system/runtime-benchmarks",
"sc-service/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
"pallet-commitments/runtime-benchmarks"
"pallet-commitments/runtime-benchmarks",
]
pow-faucet = []

Expand All @@ -103,5 +103,7 @@ try-runtime = [
"frame-system/try-runtime",
"pallet-transaction-payment/try-runtime",
"sp-runtime/try-runtime",
"pallet-commitments/try-runtime"
"pallet-commitments/try-runtime",
]

metadata-hash = ["node-subtensor-runtime/metadata-hash"]

0 comments on commit bb932e2

Please sign in to comment.