54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
name: Build and Push Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- docker_upload
|
|
|
|
jobs:
|
|
docker:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- id: get-repo-name
|
|
name: Grab formatted repo name
|
|
run: |
|
|
repository_name=$(echo ${{ gitea.repository }} | sed 's/^.*\///')
|
|
dockerhub_repo_name="${repository_name^}"
|
|
echo "repository-name=$repository_name" >> "$GITEA_OUTPUT"
|
|
echo "dockerhub-repo-name=$dockerhub_repo_name" >> "$GITEA_OUTPUT"
|
|
- name: Print repo name (for testing)
|
|
run: |
|
|
echo "Repository name: ${{ steps.get-repo-name.outputs.repository-name }}"
|
|
echo "Dockerhub formatted repo name: ${{ steps.get-repo-name.outputs.dockerhub-repo-name }}"
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- run: |
|
|
./bin/update_dockerhub_api \
|
|
${{ secrets.DOCKERHUB_USERNAME }} \
|
|
${{ secrets.DOCKERHUB_PASSWORD }} \
|
|
${{ gitea.repository }} \
|
|
${{ secrets.API_KEY }}
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: docker.io
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Build and push Docker image
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: |
|
|
docker.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ steps.get-repo-name.outputs.dockerhub-repo-name }}:latest
|
|
docker.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ steps.get-repo-name.outputs.dockerhub-repo-name }}:${{ gitea.sha }}
|
|
|