mirror of
https://github.com/frappe/frappe_docker.git
synced 2025-01-12 01:45:40 +00:00
1fba893504
* add platforms to bake file to include m1 (arm64) * add platforms to bake file to include m1 (arm64) * rebased to latest main * update docker/bake-action to latest version * test action fix * add qemu step * revert to older version of bake * remove arm64 from breaking build * test with vanilla buildx * cleanup * added platforms directive to default args * use build_push from current branch * explicit build_push dependency * use build push from current branch * specify branch name * experiment with syntax * use commit id for tag * experiment to extract branch from context * ditto * one more variation * revert * revert build push to version in current main * added comment to force build * force another build * comment out build on PR * test if event is pull request * first test, event is "none" * fix typo * correct syntax * set event name correctly * explicit variable for multi arch build * test multi arch build * test negated conditional * enable PR build * use env variable to control multi arch * test with env var * revert * revert * try syntax variation * check val * try variation * add platforms * re-enable PR builds * revert file * untested but should work * switch from env var to input for action * test against restlessronin branch * fix typo * cleanups * revert action link * refactor to explicit platform list * try variation * remove env toggle * retry * try multi build * ternary workaround * cleanup * revert action branch * fix typo * yat * revert to origin CI action * post review changes (untested) * no arm for v12
91 lines
2.1 KiB
YAML
91 lines
2.1 KiB
YAML
name: Build
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
repo:
|
|
required: true
|
|
type: string
|
|
description: "'erpnext' or 'frappe'"
|
|
version:
|
|
required: true
|
|
type: string
|
|
description: "Major version, git tags should match 'v{version}.*'; or 'develop'"
|
|
push:
|
|
required: true
|
|
type: boolean
|
|
platforms:
|
|
required: true
|
|
type: string
|
|
description: "list of target platforms"
|
|
secrets:
|
|
DOCKERHUB_USERNAME:
|
|
required: true
|
|
DOCKERHUB_TOKEN:
|
|
required: true
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
registry:
|
|
image: registry:2
|
|
ports:
|
|
- 5000:5000
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup QEMU
|
|
uses: docker/setup-qemu-action@v1
|
|
with:
|
|
image: tonistiigi/binfmt:latest
|
|
platforms: all
|
|
|
|
- name: Setup Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
with:
|
|
driver-opts: network=host
|
|
|
|
- name: Get latest versions
|
|
run: python3 ./.github/scripts/get_latest_tags.py --repo ${{ inputs.repo }} --version ${{ inputs.version }}
|
|
|
|
- name: Build
|
|
uses: docker/bake-action@v1.7.0
|
|
with:
|
|
push: true
|
|
env:
|
|
REGISTRY_USER: localhost:5000/frappe
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v3
|
|
with:
|
|
python-version: 3.9
|
|
|
|
- name: Install Docker Compose v2
|
|
uses: ndeloof/install-compose-action@4a33bc31f327b8231c4f343f6fba704fedc0fa23
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m venv venv
|
|
venv/bin/pip install -r requirements-test.txt
|
|
|
|
- name: Test
|
|
run: venv/bin/pytest --color=yes
|
|
|
|
- name: Login
|
|
if: ${{ inputs.push }}
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Push
|
|
if: ${{ inputs.push }}
|
|
uses: docker/bake-action@v1.7.0
|
|
with:
|
|
push: true
|
|
set: "*.platform=${{ inputs.platforms }}"
|