mirror of
https://github.com/datahub-project/datahub.git
synced 2026-01-01 12:24:53 +00:00
81 lines
2.5 KiB
YAML
81 lines
2.5 KiB
YAML
name: datahub-frontend-react docker
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- '**.md'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- 'docker/**'
|
|
- '.github/workflows/docker-frontend-react.yml'
|
|
paths_ignore:
|
|
- '**.md'
|
|
- '**.env'
|
|
release:
|
|
types: [published, edited]
|
|
|
|
jobs:
|
|
setup:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
tag: ${{ steps.tag.outputs.tag }}
|
|
publish: ${{ steps.publish.outputs.publish }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Compute Tag
|
|
id: tag
|
|
run: |
|
|
echo "GITHUB_REF: $GITHUB_REF"
|
|
SHORT_SHA=$(git rev-parse --short "$GITHUB_SHA")
|
|
TAG=$(echo ${GITHUB_REF} | sed -e "s,refs/heads/master,latest\,${SHORT_SHA},g" -e 's,refs/tags/,,g' -e 's,refs/pull/\([0-9]*\).*,pr\1,g')
|
|
echo "tag=$TAG"
|
|
echo "::set-output name=tag::$TAG"
|
|
- name: Check whether publishing enabled
|
|
id: publish
|
|
env:
|
|
ENABLE_PUBLISH: ${{ secrets.DOCKER_PASSWORD }}
|
|
run: |
|
|
echo "Enable publish: ${{ env.ENABLE_PUBLISH != '' }}"
|
|
echo "::set-output name=publish::${{ env.ENABLE_PUBLISH != '' }}"
|
|
push_to_registries:
|
|
name: Build and Push Docker Image to dockerhub and github registries
|
|
runs-on: ubuntu-latest
|
|
if: ${{ needs.setup.outputs.publish == 'true' }}
|
|
needs: setup
|
|
steps:
|
|
- name: Check out the repo
|
|
uses: actions/checkout@v2
|
|
- name: Docker meta
|
|
id: docker_meta
|
|
uses: crazy-max/ghaction-docker-meta@v1
|
|
with:
|
|
# list of Docker images to use as base name for tags
|
|
images: |
|
|
linkedin/datahub-frontend-react
|
|
docker.pkg.github.com/linkedin/datahub/datahub-frontend-react
|
|
# add git short SHA as Docker tag
|
|
tag-custom: ${{ needs.setup.outputs.tag }}
|
|
tag-custom-only: true
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
- name: Login to GitHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
registry: docker.pkg.github.com
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Build and Push image
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
file: ./docker/datahub-frontend/Dockerfile
|
|
tags: ${{ steps.docker_meta.outputs.tags }}
|
|
push: ${{ needs.setup.outputs.publish == 'true' }}
|