2
0
mirror of https://github.com/frappe/frappe_docker.git synced 2024-09-20 02:59:02 +00:00
frappe_docker/.github/workflows/build_stable.yml
Al Majumdar 1fba893504
Add platforms to bake file to include m1 (arm64) (#733)
* 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
2022-04-03 16:18:36 +03:00

117 lines
3.2 KiB
YAML

name: Stable build
on:
pull_request:
branches:
- main
paths:
- images/nginx/**
- images/socketio/**
- images/worker/**
- overrides/**
- tests/**
- compose.yaml
- docker-bake.hcl
- example.env
- .github/workflows/build_stable.yml
push:
branches:
- main
paths:
- images/nginx/**
- images/socketio/**
- images/worker/**
- overrides/**
- tests/**
- compose.yaml
- docker-bake.hcl
- example.env
# Triggered from frappe/frappe and frappe/erpnext on releases
repository_dispatch:
workflow_dispatch:
jobs:
v12:
uses: frappe/frappe_docker/.github/workflows/docker-build-push.yml@main
with:
repo: erpnext
version: "12"
push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
platforms: linux/amd64
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
v13:
uses: frappe/frappe_docker/.github/workflows/docker-build-push.yml@main
with:
repo: erpnext
version: "13"
push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
platforms: linux/amd64,linux/arm64
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
update_example_env:
name: Update example.env
runs-on: ubuntu-latest
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
needs: v13
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: 3.9
- name: Get latest versions
run: python3 ./.github/scripts/get_latest_tags.py --repo erpnext --version 13
- name: Update
run: python3 ./.github/scripts/update_example_env.py
- name: Push
run: |
git config --global user.name github-actions
git config --global user.email github-actions@github.com
git add example.env
if [ -z "$(git status --porcelain)" ]; then
echo "example.env did not change, exiting."
exit 0
else
echo "example.env 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: v13
steps:
- name: Setup deploy key
uses: webfactory/ssh-agent@v0.5.4
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 13 patch --remote origin --ci