mirror of
https://github.com/frappe/frappe_docker.git
synced 2024-11-08 14:21:05 +00:00
e6c0e7263b
* ci: refactor use debian bookworm use updated wkhtmltopdf override python and nodejs versions * ci: fix bench and test * ci: remove comments from example.env * docs: add maintenance section
90 lines
2.1 KiB
YAML
90 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
|
|
python_version:
|
|
required: true
|
|
type: string
|
|
description: Python Version
|
|
node_version:
|
|
required: true
|
|
type: string
|
|
description: NodeJS Version
|
|
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 Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
with:
|
|
driver-opts: network=host
|
|
|
|
- name: Get latest versions
|
|
run: python3 ./.github/scripts/get_latest_tags.py --repo ${{ inputs.repo }} --version ${{ inputs.version }}
|
|
|
|
- name: Set build args
|
|
run: |
|
|
echo "PYTHON_VERSION=${{ inputs.python_version }}" >> "$GITHUB_ENV"
|
|
echo "NODE_VERSION=${{ inputs.node_version }}" >> "$GITHUB_ENV"
|
|
|
|
- name: Build
|
|
uses: docker/bake-action@v3.1.0
|
|
with:
|
|
push: true
|
|
env:
|
|
REGISTRY_USER: localhost:5000/frappe
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.10"
|
|
|
|
- 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@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Push
|
|
if: ${{ inputs.push }}
|
|
uses: docker/bake-action@v3.1.0
|
|
with:
|
|
push: true
|