mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 13:55:08 +00:00
144 lines
4.2 KiB
YAML
144 lines
4.2 KiB
YAML
name: Core / Build Stable
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- images/production/**
|
|
- overrides/**
|
|
- tests/**
|
|
- compose.yaml
|
|
- docker-bake.hcl
|
|
- example.env
|
|
- .github/workflows/core-build-stable.yml
|
|
- .github/workflows/core-build-test-images.yml
|
|
- .github/workflows/core-publish-images.yml
|
|
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- images/production/**
|
|
- overrides/**
|
|
- tests/**
|
|
- compose.yaml
|
|
- docker-bake.hcl
|
|
- example.env
|
|
- .github/workflows/core-build-stable.yml
|
|
- .github/workflows/core-build-test-images.yml
|
|
- .github/workflows/core-publish-images.yml
|
|
|
|
# Triggered from frappe/frappe and frappe/erpnext on releases
|
|
repository_dispatch:
|
|
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
v15_test:
|
|
uses: ./.github/workflows/core-build-test-images.yml
|
|
with:
|
|
repo: erpnext
|
|
version: "15"
|
|
python_version: 3.11.6
|
|
node_version: 20.19.2
|
|
|
|
v15_publish:
|
|
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
needs: v15_test
|
|
uses: ./.github/workflows/core-publish-images.yml
|
|
with:
|
|
repo: erpnext
|
|
frappe_version: ${{ needs.v15_test.outputs.frappe_version }}
|
|
erpnext_version: ${{ needs.v15_test.outputs.erpnext_version }}
|
|
python_version: 3.11.6
|
|
node_version: 20.19.2
|
|
secrets:
|
|
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
v16_test:
|
|
uses: ./.github/workflows/core-build-test-images.yml
|
|
with:
|
|
repo: erpnext
|
|
version: "16"
|
|
python_version: 3.14.2
|
|
node_version: 24.12.0
|
|
v16_publish:
|
|
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
needs: v16_test
|
|
uses: ./.github/workflows/core-publish-images.yml
|
|
with:
|
|
repo: erpnext
|
|
frappe_version: ${{ needs.v16_test.outputs.frappe_version }}
|
|
erpnext_version: ${{ needs.v16_test.outputs.erpnext_version }}
|
|
python_version: 3.14.2
|
|
node_version: 24.12.0
|
|
secrets:
|
|
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
update_versions:
|
|
name: Update example.env and pwd.yml
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
needs: v16_publish
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.14.2"
|
|
|
|
- name: Get latest versions
|
|
run: python3 ./.github/scripts/get_latest_tags.py --repo erpnext --version 16
|
|
|
|
- name: Update
|
|
run: |
|
|
python3 ./.github/scripts/update_example_env.py
|
|
python3 ./.github/scripts/update_pwd.py
|
|
|
|
- name: Push
|
|
run: |
|
|
git config --global user.name github-actions
|
|
git config --global user.email github-actions@github.com
|
|
git add example.env pwd.yml
|
|
if [ -z "$(git status --porcelain)" ]; then
|
|
echo "versions did not change, exiting."
|
|
exit 0
|
|
else
|
|
echo "version changed, pushing changes..."
|
|
git commit -m "chore: Update example.env"
|
|
git pull --rebase
|
|
git push origin main
|
|
fi
|
|
|
|
release_helm:
|
|
name: Release Helm
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
needs: v16_publish
|
|
|
|
steps:
|
|
- name: Setup deploy key
|
|
uses: webfactory/ssh-agent@v0.10.0
|
|
with:
|
|
ssh-private-key: ${{ secrets.HELM_DEPLOY_KEY }}
|
|
|
|
- name: Setup Git Credentials
|
|
run: |
|
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git config --global user.name "github-actions[bot]"
|
|
|
|
- name: Release
|
|
run: |
|
|
git clone git@github.com:frappe/helm.git && cd helm
|
|
pip install -r release_wizard/requirements.txt
|
|
./release_wizard/wizard 16 patch --remote origin --ci
|