Skip to content

Commit

Permalink
Add gh workflow for dockerhub (#1098)
Browse files Browse the repository at this point in the history
* Add gh workflow for dockerhub

Signed-off-by: Terence <terencelimxp@gmail.com>

* Update workflow

Signed-off-by: Terence <terencelimxp@gmail.com>

* Update workflow outputs

Signed-off-by: Terence <terencelimxp@gmail.com>
  • Loading branch information
terryyylim authored Oct 28, 2020
1 parent 1c6572a commit 83bb960
Showing 1 changed file with 76 additions and 2 deletions.
78 changes: 76 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,90 @@ jobs:
runs-on: ubuntu-latest
outputs:
release_version: ${{ steps.get_release_version.outputs.release_version }}
version_without_prefix: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
highest_semver_tag: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
steps:
- name: Get release version
id: get_release_version
run: echo ::set-output name=release_version::${GITHUB_REF#refs/*/}
- name: Get release version without prefix
id: get_release_version_without_prefix
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
echo ::set-output name=version_without_prefix::${RELEASE_VERSION:1}
- name: Get highest semver
id: get_highest_semver
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
source infra/scripts/setup-common-functions.sh
SEMVER_REGEX='^v[0-9]+\.[0-9]+\.[0-9]+(-([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?$'
if echo "${RELEASE_VERSION}" | grep -P "$SEMVER_REGEX" &>/dev/null ; then
echo ::set-output name=highest_semver_tag::$(get_tag_release -m)
fi
- name: Check output
env:
RELEASE_VERSION: ${{ steps.vars.outputs.release_version }}
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
VERSION_WITHOUT_PREFIX: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
HIGHEST_SEMVER_TAG: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
run: |
echo $RELEASE_VERSION
echo ${{ steps.vars.outputs.release_version }}
echo $VERSION_WITHOUT_PREFIX
echo $HIGHEST_SEMVER_TAG
build-publish-docker-images:
runs-on: [ubuntu-latest]
needs: get-version
strategy:
matrix:
component: [core, serving, jupyter]
env:
MAVEN_CACHE: gs://feast-templocation-kf-feast/.m2.2020-08-19.tar
DOCKER_BUILDKIT: '1'
steps:
- uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
with:
version: '290.0.1'
export_default_credentials: true
- name: Get m2 cache
run: |
infra/scripts/download-maven-cache.sh \
--archive-uri ${MAVEN_CACHE} \
--output-dir .
- name: Build and push
uses: docker/build-push-action@v2
env:
RELEASE_VERSION: ${{ needs.get-version.outputs.release_version }}
with:
push: true
file: infra/docker/${{ matrix.component }}/Dockerfile
tags: feastdev/feast-${{ matrix.component }}:${{ needs.get-version.outputs.release_version }}
build-args: |
REVISION=${RELEASE_VERSION}
- name: Build and push latest
uses: docker/build-push-action@v2
env:
RELEASE_VERSION: ${{ needs.get-version.outputs.release_version }}
VERSION_WITHOUT_PREFIX: ${{ needs.get-version.outputs.version_without_prefix }}
HIGHEST_SEMVER_TAG: ${{ needs.get-version.outputs.highest_semver_tag }}
with:
if: ${VERSION_WITHOUT_PREFIX} == ${HIGHEST_SEMVER_TAG:1}
push: true
file: infra/docker/${{ matrix.component }}/Dockerfile
tags: feastdev/feast-${{ matrix.component }}:latest
build-args: |
REVISION=${RELEASE_VERSION}
publish-helm-charts:
runs-on: ubuntu-latest
Expand Down

0 comments on commit 83bb960

Please sign in to comment.