name: Build Container run-name: Build Container on: push: jobs: container: name: Build Container runs-on: ubuntu-latest container: docker steps: - name: Build Container run: | git clone -b "${{github.ref_name}}" "https://${{github.token}}@${{github.server_url}}/${{github.repository}}.git" . REGISTRY="$(echo ${{github.server_url}} | sed s%http://%% | sed s%https://%% )" VERSION="$(cat package.json | grep 'version' | grep -Eo '([0-9]+\.?)+(-[0-9a-zA-Z\-\.]+)?')" docker login -u ${{github.repository_owner}} -p ${{secrets.DEPLOY_TOKEN}} $REGISTRY docker build -t $REGISTRY/${{github.repository}}:${{github.ref_name}} . docker push $REGISTRY/${{github.repository}}:${{github.ref_name}} if [ '${{github.ref_name}}' == 'master' ]; then docker tag $REGISTRY/${{github.repository}}:${{github.ref_name}} $REGISTRY/${{github.repository}}:$VERSION docker push $REGISTRY/${{github.repository}}:$VERSION docker tag $REGISTRY/${{github.repository}}:${{github.ref_name}} $REGISTRY/${{github.repository}}:latest docker push $REGISTRY/${{github.repository}}:latest fi tag: name: Git Tag runs-on: ubuntu-latest container: alpine/git steps: - name: Git Tag run: | git clone -b "${{github.ref_name}}" "https://${{github.token}}@${{github.server_url}}/${{github.repository}}.git" . VERSION="$(cat package.json | grep 'version' | grep -Eo '([0-9]+\.?)+(-[0-9a-zA-Z\-\.]+)?')" git tag -f $VERSION ${{github.sha}} git push -f origin $VERSION