Skip to content

Build and Push Docker Dev Image #57

Build and Push Docker Dev Image

Build and Push Docker Dev Image #57

name: Build and Push Docker Dev Image
on:
workflow_dispatch:
push:
branches:
- dev
paths-ignore:
- 'README.MD'
- 'docker-compose.yml'
- '.github/**'
- 'vercel.json'
- '.gitignore'
- 'CHANGELOG.md'
- 'version.txt'
jobs:
semantic-release:
runs-on: ubuntu-latest
outputs:
new_release_published: ${{ steps.semantic.outputs.new_release_published }}
new_release_version: ${{ steps.semantic.outputs.new_release_version }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Git Configuration
run: |
git config --global user.name "iidamie"
git config --global user.email "iidamie@users.noreply.github.com"
- name: Semantic Release
id: semantic
uses: cycjimmy/semantic-release-action@v4
with:
extra_plugins: |
@semantic-release/exec
@semantic-release/git
@semantic-release/changelog
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-and-push:
needs: semantic-release
runs-on: ubuntu-latest
if: ${{ needs.semantic-release.outputs.new_release_published == 'true' }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GHCR
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get version
id: get_version
run: |
version=${{ needs.semantic-release.outputs.new_release_version }}
echo "Current version: v$version"
echo "::set-output name=version::v$version"
- name: Build and push multi-arch images
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
tags: |
${{ secrets.DOCKER_USERNAME }}/deepseek2api:${{ steps.get_version.outputs.version }}
${{ secrets.DOCKER_USERNAME }}/deepseek2api:dev
ghcr.io/${{ github.actor }}/deepseek2api:${{ steps.get_version.outputs.version }}
ghcr.io/${{ github.actor }}/deepseek2api:dev
platforms: linux/amd64,linux/arm64
build-args: TARGETPLATFORM=${{ matrix.platform }}