Skip to content

Commit

Permalink
chore(docker): publish docker image
Browse files Browse the repository at this point in the history
  • Loading branch information
EstebanBorai committed Feb 4, 2024
1 parent 3e446f0 commit 76a492c
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 1 deletion.
59 changes: 59 additions & 0 deletions .github/workflows/publish-docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Publish Docker Image

on:
push:

concurrency:
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true

env:
IMAGE_NAME: commune
GHCR_REGISTRY: ghcr.io/commune-os
OPENSSL_LIB_DIR: "/usr/lib/x86_64-linux-gnu"
OPENSSL_INCLUDE_DIR: "/usr/include/openssl"

jobs:
publish_image:
name: Publish image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Rust Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: x86_64-unknown-linux-musl

- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2

- name: Setup Rust Target
run: rustup target add x86_64-unknown-linux-musl

- name: Install Build Dependencies
run: |
sudo apt-get update
sudo apt-get install \
build-essential \
librust-openssl-dev \
pkg-config \
libssl-dev
- name: Setup Zig
uses: goto-bus-stop/[email protected]

- name: Install ZigBuild
run: cargo install cargo-zigbuild

- name: Install Just
uses: extractions/setup-just@v1

- name: Build Image
run: just docker_build_image
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ anyhow = "1.0.75"
axum = { version = "0.7.4", features = ["tokio"] }
dotenv = "0.15.0"
http = "0.2.11"
reqwest = "0.11.22"
reqwest = { version = "0.11.22", default-features = false, features = ["blocking", "json", "rustls-tls-native-roots"] }
serde = "1.0.192"
serde_json = "1.0.108"
tokio = "1.34.0"
Expand Down
7 changes: 7 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM arm64v8/alpine:3

COPY server /opt/commune

WORKDIR app

ENTRYPOINT ["/opt/commune"]
14 changes: 14 additions & 0 deletions Justfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
set positional-arguments

commit_sha := `git rev-parse --verify HEAD`
target_release := "x86_64-unknown-linux-musl"

# Lists all available commands
default:
just --list
Expand Down Expand Up @@ -60,3 +63,14 @@ clear: stop
# Runs all the tests from the `test` package. Optionally runs a single one if name pattern is provided
e2e *args='':
cargo test --package test -- --nocapture --test-threads=1 $1

# Builds the Server binary used in the Docker Image
docker_build_server:
cargo zigbuild --target {{target_release}} --release -p server

# Builds the Docker image for the backend
docker_build_image: docker_build_server
mkdir tmp/
cp ./target/{{target_release}}/release/server ./tmp/server
chmod +x ./tmp/server
docker build -t "commune:{{commit_sha}}-{{target_release}}" --build-arg .

0 comments on commit 76a492c

Please sign in to comment.