106 lines
3.3 KiB
YAML
106 lines
3.3 KiB
YAML
name: Build and Push Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
paths-ignore:
|
|
- 'README.md'
|
|
# - '.github/**'
|
|
pull_request:
|
|
branches:
|
|
- develop
|
|
paths-ignore:
|
|
- 'README.md'
|
|
# - '.github/**'
|
|
workflow_dispatch:
|
|
branches:
|
|
- develop
|
|
paths-ignore:
|
|
- 'README.md'
|
|
# - '.github/**'
|
|
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest
|
|
# if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
# if: startsWith(github.ref, 'refs/tags')
|
|
steps:
|
|
|
|
- name: Extract Version
|
|
id: version_step
|
|
run: |
|
|
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
|
|
echo REPO_VERSION=${GITHUB_REF_NAME#v} >> $GITHUB_OUTPUT
|
|
echo RELEASE_DATE=$(date --rfc-3339=date) >> ${GITHUB_ENV}
|
|
|
|
# echo "##[set-output name=version;]VERSION=${GITHUB_REF#$"refs/tags/v"}"
|
|
# echo "##[set-output name=version_tag;]$GITHUB_REPOSITORY:${GITHUB_REF#$"refs/tags/v"}"
|
|
# echo "##[set-output name=latest_tag;]$GITHUB_REPOSITORY:latest"
|
|
|
|
# - name: Print Version
|
|
# run: |
|
|
# echo ${{steps.version_step.outputs.version_tag}}
|
|
# echo ${{steps.version_step.outputs.latest_tag}}
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
with:
|
|
platforms: |
|
|
linux/amd64
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: docker.savin.nyc
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
# - name: PrepareReg Names
|
|
# id: read-docker-image-identifiers
|
|
# run: |
|
|
# echo VERSION_TAG=$(echo ${{ steps.version_step.outputs.version_tag }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV
|
|
# echo LASTEST_TAG=$(echo ${{ steps.version_step.outputs.latest_tag }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV
|
|
|
|
- name: Build and push
|
|
id: docker_build
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
# context: .
|
|
# file: ./Dockerfile
|
|
platforms: |
|
|
linux/amd64
|
|
push: true
|
|
tags: |
|
|
docker.savin.nyc/${{ github.event.repository.name }}:latest
|
|
# ${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }}
|
|
|
|
|
|
# latest
|
|
# build-args: |
|
|
# docker.savin.nyc/${{ github.event.repository.name }}:latest
|
|
# build-args: |
|
|
# ${{steps.version_step.outputs.version}}
|
|
# docker.savin.nyc/${{ github.event.repository.name }}:${{ env.RELEASE_VERSION }}
|
|
# tags: |
|
|
# ${{env.VERSION_TAG}}
|
|
# ${{env.LASTEST_TAG}}
|
|
|
|
- name: Auto Deploy (Dev)
|
|
# if: ${{ contains(github.ref, 'develop') and env.AUTO_DEPLOY_DEV == 'true' }}
|
|
id: auto-deploy-dev
|
|
uses: gh-actions/auto-exec-workflow@v1
|
|
with:
|
|
GITHUB_TOKEN: ${{ secrets.GUTHUB_TOKEN }}
|
|
Version: ${{ steps.version.output.updated-version }}
|
|
|
|
- name: Output Summary
|
|
id: output-summary
|
|
shell: bash
|
|
run: |
|
|
echo "CI pipeline has been compiled for ${{ github.repository }} with a new version ${{ steps.version.output.updated-version }}" >> $GITHUB_STEP_SUMMARY
|