Skip to content

Commit

Permalink
feat(workflow): publish services
Browse files Browse the repository at this point in the history
  • Loading branch information
AliMD committed Dec 10, 2022
1 parent 14bafbb commit 38ef68f
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 2 deletions.
10 changes: 10 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
*
!/core/
!/pwa/
!/services/
!/ui-kit/
!/uniquely/
!package.json
!lerna.json
!tsconfig*
!*.lock
2 changes: 0 additions & 2 deletions .github/workflows/publish-container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
push:
paths:
- 'cloud/container/**'
- 'services/**'
- '.github/workflows/publish-container.yml'
tags:
- 'v*.*.*'
Expand All @@ -19,7 +18,6 @@ on:
pull_request:
paths:
- 'cloud/container/**'
- 'services/**'
- '.github/workflows/publish-container.yml'

env:
Expand Down
103 changes: 103 additions & 0 deletions .github/workflows/publish-services.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Publish Containers

on:
workflow_dispatch:

push:
tags:
- 'v*.*.*'
# branches:
# - next
# - main

# pull_request:
# paths:
# - 'services/**'
# - '.github/workflows/publish-services.yml'

env:
REGISTRY: ghcr.io
USERNAME: ${{github.repository_owner}}
# USERNAME: ${{github.actor}}
# USERNAME: Alwatr

jobs:
build:
if: github.repository_owner == 'AliMD'

name: Build & Publish Services
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- image: storage-server
path: services/storage-server
description: Alwatr Storage Server, Elegant micro in-memory json-like storage nanoservice with disk backed, Fastest NoSQL Database.

permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
# id-token: write

steps:
- name: ⤵️ Checkout repository
uses: actions/checkout@v3

- name: 🏗 Setup Docker Buildx
uses: docker/setup-buildx-action@v2

- name: 🏗 Log into registry ${{env.REGISTRY}}
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ env.USERNAME }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: 🏗 Extract metadata
id: meta
uses: docker/metadata-action@v4
with:
github-token: ${{secrets.GITHUB_TOKEN}}
images: name=${{ env.REGISTRY }}/${{ env.USERNAME }}/${{ matrix.image }},enable=true

labels: |
org.opencontainers.image.authors=Ali.Mihandoost@gmail.com
org.opencontainers.image.title=@alwatr/${{matrix.image}}
org.opencontainers.image.description=${{matrix.description}}
tags: |
type=semver,enable=true,pattern={{major}}
type=semver,enable=true,pattern={{major}}.{{minor}}
type=semver,enable=true,pattern={{version}}
type=ref,enable=true,event=pr
type=ref,enable=false,event=branch
- name: 🚀 Build and push container image
id: build-and-push
uses: docker/build-push-action@v3
with:
push: ${{github.event_name != 'pull_request'}}
github-token: ${{secrets.GITHUB_TOKEN}}
tags: ${{steps.meta.outputs.tags}}
labels: ${{steps.meta.outputs.labels}}
context: .
file: ${{matrix.path}}/Dockerfile
# cache-from: type=gha
# cache-to: type=gha,mode=max

# - name: 🏗 Install cosign
# if: github.event_name != 'pull_request'
# uses: sigstore/cosign-installer@main

# - name: 🏗 Sign the published container image
# if: ${{github.event_name != 'pull_request'}}
# env:
# COSIGN_EXPERIMENTAL: 'true'
# run: echo "${{steps.meta.outputs.tags}}" | xargs -I {} cosign sign {}@${{steps.build-and-push.outputs.digest}}

0 comments on commit 38ef68f

Please sign in to comment.