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 c7fb20c
Showing 2 changed files with 54 additions and 0 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/update-docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
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: Fetch all tags
run: git fetch --tags

- name: Get latest tag
id: get-latest-tag
run: |
LATEST_TAG=$(git tag --list 'v[0-9]*.[0-9]*.[0-9]*' | sort -V | tail -n 1)
echo "LATEST_TAG=${LATEST_TAG}" >> $GITHUB_ENV
echo "Latest tag: ${LATEST_TAG}"
- name: Verify LATEST_TAG
run: echo "LATEST_TAG is ${{ env.LATEST_TAG }}"

- 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 c7fb20c

Please sign in to comment.