frappe_docker/.github/workflows/docker-build.yml
2025-06-24 18:39:26 +02:00

64 lines
2.1 KiB
YAML

name: Digikwal stable
on:
workflow_run:
workflows:
- Semantic Release
types:
- completed
jobs:
build-and-push:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download release metadata
uses: actions/download-artifact@v4
with:
name: release-metadata
path: ./artifacts/release-metadata
github-token: ${{ secrets.GITHUB_TOKEN }}
repository: digikwal/frappe_docker
run-id: ${{ github.event.workflow_run.id }}
- name: Load release metadata
run: |
export RELEASE_TAG=$(cat ./artifacts/release-metadata/release_tag.txt)
export FRAPPE_BRANCH=$(cat ./artifacts/release-metadata/frappe_branch.txt)
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
echo "FRAPPE_BRANCH=$FRAPPE_BRANCH" >> $GITHUB_ENV
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PAT }}
- name: Encode apps.json
run: |
export APPS_JSON_BASE64=$(base64 -w 0 ./apps.json)
echo "APPS_JSON_BASE64=$APPS_JSON_BASE64" >> $GITHUB_ENV
- name: Build Docker image
run: |
docker build \
--build-arg FRAPPE_PATH=https://github.com/frappe/frappe \
--build-arg FRAPPE_BRANCH=${{ env.FRAPPE_BRANCH }} \
--build-arg APPS_JSON_BASE64=${{ env.APPS_JSON_BASE64 }} \
--tag digikwal/erpnext:${{ env.RELEASE_TAG }} \
--file images/layered/Containerfile .
- name: Push Docker image and tags
run: |
docker push digikwal/erpnext:${{ env.RELEASE_TAG }}
if [[ "${{ env.RELEASE_TAG }}" != *"-"* ]]; then
docker tag digikwal/erpnext:${{ env.RELEASE_TAG }} digikwal/erpnext:latest
docker push digikwal/erpnext:latest
else
docker tag digikwal/erpnext:${{ env.RELEASE_TAG }} digikwal/erpnext:dev
docker push digikwal/erpnext:dev
fi