Skip to content

Commit

Permalink
build image and push to docker on merge
Browse files Browse the repository at this point in the history
  • Loading branch information
Aye Min Aung committed Jul 26, 2023
1 parent d7c6efc commit 717872e
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 1 deletion.
73 changes: 73 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Build

on:
push:
branches:
- "master"
- "min/build-image"
workflow_call:
secrets:
# Secrets used to build
DOCKERHUB_USERNAME:
required: true
DOCKERHUB_TOKEN:
required: true
GH_BOT_DEPLOY_KEY:
required: true

jobs:
hash:
runs-on: ubuntu-latest
outputs:
HASH: ${{ steps.hash.outputs.short }}
steps:
- id: hash
uses: pr-mpt/actions-commit-hash@v2
with:
# NOTE: since this workflow is only triggered by `push` event
# github.sha have correct commit sha
commit: ${{ github.sha }}
stack_image:
runs-on: ubuntu-latest
outputs:
LIBS10: ${{ steps.image.outputs.IMAGE_LIBS10 }}
LIBS11: ${{ steps.image.outputs.IMAGE_LIBS11 }}
steps:
- uses: actions/checkout@v3
with:
repo: signalwire/libks
ref: master
path: /__w/signalwire-c/signalwire-c/libks
- run: |
cd /__w/signalwire-c/signalwire-c/libks
export LIBKS_SHA=$(git rev-parse --short HEAD);
export IMAGE_LIBS10="signalwire/freeswitch-libs:libks-libs10-$LIBKS_SHA"
export IMAGE_LIBS11="signalwire/freeswitch-libs:libks-libs11-$LIBKS_SHA"
echo "IMAGE_LIBS10=$IMAGE_LIBS10" >> $GITHUB_OUTPUT
echo "IMAGE_LIBS11=$IMAGE_LIBS11" >> $GITHUB_OUTPUT
id: image
build:
needs: [hash,stack_image]
strategy:
matrix:
include:
- tag: signalwire-c-libs10-${{ needs.hash.outputs.HASH }}
baseimage: signalwire/freeswitch-base:debian-10
libks_image: ${{ needs.stack_image.outputs.LIBS10 }}
- tag: libks-libs11-${{ needs.hash.outputs.HASH }}
baseimage: signalwire/freeswitch-base:debian-11
libks_image: ${{ needs.stack_image.outputs.LIBS11 }}
name: "build signalwire-c"
uses: signalwire/actions-template/.github/workflows/ci-build.yml@main
with:
CONTAINER_SCAN: true
CONTAINER_TEST: false
PROJECT_NAME: "freeswitch-libs"
FILE: ./Dockerfile
PUSH: true
RUNNER: ubuntu-latest
TAG: ${{ matrix.tag }}
BUILD_ARGS: |
BASEIMAGE=${{ matrix.baseimage }}
LIBKS_IMAGE=${{ matrix.libks_image }}
secrets: inherit
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ jobs:
uses: actions/checkout@v3
with:
repository: signalwire/libks
ref: v2.0
path: /__w/signalwire-c/signalwire-c/libks
- name: build libks
run: cd /__w/signalwire-c/signalwire-c/libks && cmake . -DCMAKE_BUILD_TYPE=Release && make && make install && cd ..
Expand Down
13 changes: 13 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ARG LIBKS_IMAGE=signalwire/freeswitch-libs:libks-libs10
ARG BASEIMAGE=signalwire/freeswitch-base:debian-10
FROM ${LIBKS_IMAGE} as libks
FROM ${BASEIMAGE}

COPY REVISION /REVISION
COPY --from=libks /usr/lib/libks2.so /usr/lib/libks2.so
COPY --from=libks /usr/lib/libks2.so.2 /usr/lib/libks2.so.2
COPY --from=libks /usr/lib/pkgconfig/libks2.pc /usr/lib/pkgconfig/libks2.pc
COPY --from=libks /usr/include/libks2 /usr/include/libks2
COPY src/libs/signalwire-c /sw/src/libs/signalwire-c
WORKDIR /sw/src/libs/signalwire-c
RUN PKG_CONFIG_PATH=/usr/lib/pkgconfig cmake . -DCMAKE_INSTALL_PREFIX=/usr && make install

0 comments on commit 717872e

Please sign in to comment.