diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 976f967..6631e92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,3 +40,42 @@ jobs: - name: test run: cargo test + + docker: + name: Build & Push Docker Image + runs-on: ubuntu-latest + needs: ci + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v4 + + - name: Log in to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + tags: | + type=raw,value=latest,enable={{is_default_branch}} + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=sha,prefix= + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: FEATURES=sqlite,sqlite-federation diff --git a/docker-compose.yml b/docker-compose.yml index ab581fe..1c8a499 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,11 @@ services: app: - build: - context: . - args: - FEATURES: sqlite,sqlite-federation + image: ghcr.io/gkaszewski/movies-diary:latest + # To build from source instead: comment out "image" and uncomment "build" + # build: + # context: . + # args: + # FEATURES: sqlite,sqlite-federation ports: - "3000:3000" env_file: .env @@ -12,10 +14,11 @@ services: restart: unless-stopped worker: - build: - context: . - args: - FEATURES: sqlite,sqlite-federation + image: ghcr.io/gkaszewski/movies-diary:latest + # build: + # context: . + # args: + # FEATURES: sqlite,sqlite-federation entrypoint: ["./worker"] env_file: .env volumes: