Skip to content

Commit 2477039

Browse files
ci: Workflow to build docker image
1 parent 78804b1 commit 2477039

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

.github/workflows/docker-image.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Build Container Image
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches:
6+
- master
7+
tags:
8+
- "*"
9+
10+
jobs:
11+
build:
12+
name: Build
13+
14+
runs-on: ubuntu-latest
15+
16+
strategy:
17+
matrix:
18+
arch: [amd64, arm64]
19+
20+
steps:
21+
- name: Checkout Entire Repository
22+
uses: actions/checkout@v4
23+
24+
- name: Set up QEMU
25+
uses: docker/setup-qemu-action@v3
26+
27+
- name: Set up Docker Buildx
28+
uses: docker/setup-buildx-action@v3
29+
with:
30+
platforms: linux/${{ matrix.arch }}
31+
32+
- name: Login to GitHub Container Registry
33+
uses: docker/login-action@v2
34+
with:
35+
registry: ghcr.io
36+
username: ${{ github.actor }}
37+
password: ${{ secrets.GITHUB_TOKEN }}
38+
39+
- name: Set Branch
40+
run: |
41+
export APPS_JSON='[{"url": "https://github.com/frappe/builder","branch": "master"}]'
42+
echo "APPS_JSON_BASE64=$(echo $APPS_JSON | base64 -w 0)" >> $GITHUB_ENV
43+
echo "FRAPPE_BRANCH=version-15" >> $GITHUB_ENV
44+
45+
- name: Set Image Tag
46+
run: |
47+
echo "IMAGE_TAG=stable" >> $GITHUB_ENV
48+
49+
- uses: actions/checkout@v4
50+
with:
51+
repository: frappe/frappe_docker
52+
path: builds
53+
54+
- name: Build and push
55+
uses: docker/build-push-action@v6
56+
with:
57+
push: true
58+
context: builds
59+
file: builds/images/layered/Containerfile
60+
tags: >
61+
ghcr.io/${{ github.repository }}:${{ github.ref_name }},
62+
ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }}
63+
build-args: |
64+
"FRAPPE_BRANCH=${{ env.FRAPPE_BRANCH }}"
65+
"APPS_JSON_BASE64=${{ env.APPS_JSON_BASE64 }}"

0 commit comments

Comments
 (0)