2
0
mirror of https://github.com/frappe/frappe_docker.git synced 2025-02-03 20:48:27 +00:00

Use resusable workflow

This commit is contained in:
Lev Vereshchagin 2021-12-17 11:38:54 +03:00
parent 53b74de6de
commit 7bf2cbf7f9
2 changed files with 169 additions and 62 deletions

97
.github/workflows/docker-build.yml vendored Normal file
View File

@ -0,0 +1,97 @@
name: Build
on:
workflow_call:
inputs:
repo:
required: true
type: string
description: "'erpnext' or 'frappe'"
version:
required: true
type: string
description: "'12', '13' or 'develop'"
push:
required: true
type: boolean
secrets:
DOCKERHUB_USERNAME:
required: true
DOCKERHUB_TOKEN:
required: true
HELM_DEPLOY_KEY:
required: true
jobs:
build:
runs-on: ubuntu-latest
services:
registry:
image: registry:2
ports:
- 5000:5000
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Setup Buildx
uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host
- name: Install Docker Compose v2
uses: ndeloof/install-compose-action@4a33bc31f327b8231c4f343f6fba704fedc0fa23
- 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.6.0
with:
push: true
env:
USERNAME: localhost:5000/frappe
- name: Test
run: python3 tests/main.py
- 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.6.0
with:
push: true
release_helm:
runs-on: ubuntu-latest
if: inputs.push
needs: build
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

View File

@ -35,79 +35,89 @@ on:
# workflow_dispatch: # workflow_dispatch:
jobs: jobs:
build: # build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
services: # services:
registry: # registry:
image: registry:2 # image: registry:2
ports: # ports:
- 5000:5000 # - 5000:5000
strategy: # strategy:
matrix: # matrix:
version: [12, 13] # version: [12, 13]
steps: # steps:
- name: Checkout # - name: Checkout
uses: actions/checkout@v2 # uses: actions/checkout@v2
- name: Setup Python # - name: Setup Python
uses: actions/setup-python@v2 # uses: actions/setup-python@v2
with: # with:
python-version: 3.9 # python-version: 3.9
- name: Setup Buildx # - name: Setup Buildx
uses: docker/setup-buildx-action@v1 # uses: docker/setup-buildx-action@v1
with: # with:
driver-opts: network=host # driver-opts: network=host
- name: Install Docker Compose v2 # - name: Install Docker Compose v2
uses: ndeloof/install-compose-action@4a33bc31f327b8231c4f343f6fba704fedc0fa23 # uses: ndeloof/install-compose-action@4a33bc31f327b8231c4f343f6fba704fedc0fa23
- name: Get latest versions # - name: Get latest versions
run: python3 ./.github/scripts/get_latest_tags.py --repo erpnext --version ${{ matrix.version }} # run: python3 ./.github/scripts/get_latest_tags.py --repo erpnext --version ${{ matrix.version }}
- name: Build # - name: Build
uses: docker/bake-action@v1.6.0 # uses: docker/bake-action@v1.6.0
with: # with:
push: true # push: true
env: # env:
USERNAME: localhost:5000/frappe # USERNAME: localhost:5000/frappe
- name: Test # - name: Test
run: python3 tests/main.py # run: python3 tests/main.py
- name: Login # - name: Login
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }} # if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
uses: docker/login-action@v1 # uses: docker/login-action@v1
with: # with:
username: ${{ secrets.DOCKERHUB_USERNAME }} # username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} # password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push # - name: Push
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }} # if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
uses: docker/bake-action@v1.6.0 # uses: docker/bake-action@v1.6.0
with: # with:
push: true # push: true
release_helm: # release_helm:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
if: github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' # if: github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request'
needs: build # needs: build
steps: # steps:
- name: Setup deploy key # - name: Setup deploy key
uses: webfactory/ssh-agent@v0.5.4 # uses: webfactory/ssh-agent@v0.5.4
with: # with:
ssh-private-key: ${{ secrets.HELM_DEPLOY_KEY }} # ssh-private-key: ${{ secrets.HELM_DEPLOY_KEY }}
- name: Setup Git Credentials # - name: Setup Git Credentials
run: | # run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" # git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]" # git config --global user.name "github-actions[bot]"
- name: Release # - name: Release
run: | # run: |
git clone git@github.com:frappe/helm.git && cd helm # git clone git@github.com:frappe/helm.git && cd helm
pip install -r release_wizard/requirements.txt # pip install -r release_wizard/requirements.txt
./release_wizard/wizard 13 patch --remote origin --ci # ./release_wizard/wizard 13 patch --remote origin --ci
build2:
uses: vrslev/frappe_docker/.github/workflows/docker-build.yml@beautify
with:
repo: "erpnext"
version: "13"
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
HELM_DEPLOY_KEY: ${{ secrets.HELM_DEPLOY_KEY }}