Skip to content

Commit

Permalink
Build and push Github container registry image
Browse files Browse the repository at this point in the history
This will be used to generate the themes from our template repos
  • Loading branch information
JamyGolden committed Jun 23, 2024
1 parent 4cef1c9 commit 80cb635
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/update-docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Update Docker image
on:
workflow_dispatch:

jobs:
push-image:
name: Push latest image
runs-on: ubuntu-latest
outputs:
cargo_cache_key: ${{ steps.cargo_cache_key.outputs.value }}
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Get latest tag
id: get-latest-tag
run: echo "LATEST_TAG=$(git describe --tags --abbrev=0 --match 'v*.*.*')" >> $GITHUB_ENV

- name: Build Docker image
run: docker build -t tinted-builder-rust .

- name: Tag Docker image
run: docker tag tinted-builder-rust ghcr.io/tinted-theming/tinted-builder-rust:${{ env.LATEST_TAG }}

- name: Log in to GitHub Container Registry
run: echo ${{ secrets.DOCKER_GHCR }} | docker login ghcr.io -u tinted-theming-bot --password-stdin

- name: Push Docker image
run: docker push ghcr.io/tinted-themuing/tinted-builder-rust:${{ env.LATEST_TAG }}
16 changes: 16 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM rust:latest as builder
WORKDIR /usr/src/tinted-builder-rust

# Copy required compilation source
COPY Cargo.toml Cargo.lock ./
COPY tinted-builder ./tinted-builder
COPY tinted-builder-rust ./tinted-builder-rust

# Build and test
RUN cargo build -p tinted-builder-rust --release
RUN cargo test -p tinted-builder-rust --release

FROM rust:latest
COPY --from=builder /usr/src/tinted-builder-rust/target/release/tinted-builder-rust /usr/local/bin/tinted-builder-rust

ENTRYPOINT ["tinted-builder-rust"]

0 comments on commit 80cb635

Please sign in to comment.