Refactor Docker image build and push workflow #77
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Push Docker Image | |
on: | |
push: | |
branches: | |
- main | |
release: | |
types: | |
- created | |
jobs: | |
build-and-push: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Login to Docker Hub | |
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin | |
- name: Build, Tag, and Push Docker image to Docker Hub | |
run: | | |
if git rev-parse --verify "refs/tags/*" >/dev/null 2>&1; then | |
VERSION=$(git describe --tags --abbrev=0) | |
else | |
VERSION="latest" | |
fi | |
docker build -f Dockerfile -t ashaffah/kode-pos:$VERSION . | |
docker tag ${{ github.repository }}:$VERSION ${{ github.repository }}:$VERSION | |
docker push ${{ github.repository }}:$VERSION | |
echo "VERSION=$VERSION" | |
# - name: Tag Docker Image | |
# run: | | |
# docker tag ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.repository }}:latest docker.pkg.github.com/${{ secrets.DOCKERHUB_USERNAME }}/${{ github.repository }}:latest | |
# docker tag ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.repository }}:latest docker.pkg.github.com/${{ secrets.DOCKERHUB_USERNAME }}/${{ github.repository }}:${{ needs.determine_version.outputs.NEXT_VERSION }} | |
# - name: Push Docker image | |
# run: | | |
# docker push ashaffah/kode-pos:$VERSION | |
# echo "VERSION=$VERSION" >> $GITHUB_ENV | |
# - name: Push Docker image GitHub Packages | |
# run: | | |
# docker push docker.pkg.github.com/${{ github.actor }}/kode-pos:$VERSION | |
# echo "VERSION=$VERSION" >> $GITHUB_ENV | |
# - name: Display version information | |
# run: | | |
# echo "Latest version: $VERSION" |