mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-23 00:05:09 +00:00
ci: add semantic-release, docker build & pre-commit workflows
This commit is contained in:
parent
0024e17433
commit
8b7eb9447f
9 changed files with 161 additions and 318 deletions
59
.github/workflows/build_bench.yml
vendored
59
.github/workflows/build_bench.yml
vendored
|
|
@ -1,59 +0,0 @@
|
||||||
name: Bench
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- images/bench/**
|
|
||||||
- docker-bake.hcl
|
|
||||||
- .github/workflows/build_bench.yml
|
|
||||||
|
|
||||||
schedule:
|
|
||||||
# Every day at 12:00 pm
|
|
||||||
- cron: 0 0 * * *
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
with:
|
|
||||||
image: tonistiigi/binfmt:latest
|
|
||||||
platforms: all
|
|
||||||
|
|
||||||
- name: Setup Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Set Environment Variables
|
|
||||||
run: cat example.env | grep -o '^[^#]*' >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Get Bench Latest Version
|
|
||||||
run: echo "LATEST_BENCH_RELEASE=$(curl -s 'https://api.github.com/repos/frappe/bench/releases/latest' | jq -r '.tag_name')" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Build and test
|
|
||||||
uses: docker/bake-action@v6.8.0
|
|
||||||
with:
|
|
||||||
source: .
|
|
||||||
targets: bench-test
|
|
||||||
|
|
||||||
- name: Login
|
|
||||||
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Push
|
|
||||||
if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
||||||
uses: docker/bake-action@v6.8.0
|
|
||||||
with:
|
|
||||||
targets: bench
|
|
||||||
push: true
|
|
||||||
set: "*.platform=linux/amd64,linux/arm64"
|
|
||||||
33
.github/workflows/build_develop.yml
vendored
33
.github/workflows/build_develop.yml
vendored
|
|
@ -1,33 +0,0 @@
|
||||||
name: Develop build
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- images/production/**
|
|
||||||
- overrides/**
|
|
||||||
- tests/**
|
|
||||||
- compose.yaml
|
|
||||||
- docker-bake.hcl
|
|
||||||
- example.env
|
|
||||||
- .github/workflows/build_develop.yml
|
|
||||||
|
|
||||||
schedule:
|
|
||||||
# Every day at 12:00 pm
|
|
||||||
- cron: 0 0 * * *
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
uses: ./.github/workflows/docker-build-push.yml
|
|
||||||
with:
|
|
||||||
repo: erpnext
|
|
||||||
version: develop
|
|
||||||
push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
||||||
python_version: 3.11.6
|
|
||||||
node_version: 18.18.2
|
|
||||||
secrets:
|
|
||||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
116
.github/workflows/build_stable.yml
vendored
116
.github/workflows/build_stable.yml
vendored
|
|
@ -1,116 +0,0 @@
|
||||||
name: Stable build
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- images/production/**
|
|
||||||
- overrides/**
|
|
||||||
- tests/**
|
|
||||||
- compose.yaml
|
|
||||||
- docker-bake.hcl
|
|
||||||
- example.env
|
|
||||||
- .github/workflows/build_stable.yml
|
|
||||||
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- images/production/**
|
|
||||||
- overrides/**
|
|
||||||
- tests/**
|
|
||||||
- compose.yaml
|
|
||||||
- docker-bake.hcl
|
|
||||||
- example.env
|
|
||||||
|
|
||||||
# Triggered from frappe/frappe and frappe/erpnext on releases
|
|
||||||
repository_dispatch:
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
v14:
|
|
||||||
uses: ./.github/workflows/docker-build-push.yml
|
|
||||||
with:
|
|
||||||
repo: erpnext
|
|
||||||
version: "14"
|
|
||||||
push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
||||||
python_version: 3.10.13
|
|
||||||
node_version: 16.20.2
|
|
||||||
secrets:
|
|
||||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
|
|
||||||
v15:
|
|
||||||
uses: ./.github/workflows/docker-build-push.yml
|
|
||||||
with:
|
|
||||||
repo: erpnext
|
|
||||||
version: "15"
|
|
||||||
push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }}
|
|
||||||
python_version: 3.11.6
|
|
||||||
node_version: 20.19.2
|
|
||||||
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: v15
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: "3.10"
|
|
||||||
|
|
||||||
- name: Get latest versions
|
|
||||||
run: python3 ./.github/scripts/get_latest_tags.py --repo erpnext --version 15
|
|
||||||
|
|
||||||
- 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: v15
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Setup deploy key
|
|
||||||
uses: webfactory/ssh-agent@v0.9.1
|
|
||||||
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 15 patch --remote origin --ci
|
|
||||||
101
.github/workflows/docker-build-push.yml
vendored
101
.github/workflows/docker-build-push.yml
vendored
|
|
@ -1,101 +0,0 @@
|
||||||
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: docker.io/registry:2
|
|
||||||
ports:
|
|
||||||
- 5000:5000
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
arch: [amd64, arm64]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
with:
|
|
||||||
image: tonistiigi/binfmt:latest
|
|
||||||
platforms: all
|
|
||||||
|
|
||||||
- name: Setup Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
driver-opts: network=host
|
|
||||||
platforms: linux/${{ matrix.arch }}
|
|
||||||
|
|
||||||
- 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@v6.8.0
|
|
||||||
with:
|
|
||||||
source: .
|
|
||||||
push: true
|
|
||||||
env:
|
|
||||||
REGISTRY_USER: localhost:5000/frappe
|
|
||||||
|
|
||||||
- name: Setup Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
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@v3
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Push
|
|
||||||
if: ${{ inputs.push }}
|
|
||||||
uses: docker/bake-action@v6.8.0
|
|
||||||
with:
|
|
||||||
push: true
|
|
||||||
set: "*.platform=linux/amd64,linux/arm64"
|
|
||||||
64
.github/workflows/docker-build.yml
vendored
Normal file
64
.github/workflows/docker-build.yml
vendored
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
name: Build and Push ERPNext Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows:
|
||||||
|
- Semantic Release
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Download release metadata
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-metadata
|
||||||
|
path: ./artifacts/release-metadata
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
repository: digikwal/frappe_docker
|
||||||
|
run-id: ${{ github.event.workflow_run.id }}
|
||||||
|
|
||||||
|
- name: Load release metadata
|
||||||
|
run: |
|
||||||
|
export RELEASE_TAG=$(cat ./artifacts/release-metadata/release_tag.txt)
|
||||||
|
export FRAPPE_BRANCH=$(cat ./artifacts/release-metadata/frappe_branch.txt)
|
||||||
|
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
|
||||||
|
echo "FRAPPE_BRANCH=$FRAPPE_BRANCH" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Log in to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PAT }}
|
||||||
|
|
||||||
|
- name: Encode apps.json
|
||||||
|
run: |
|
||||||
|
export APPS_JSON_BASE64=$(base64 -w 0 ./apps.json)
|
||||||
|
echo "APPS_JSON_BASE64=$APPS_JSON_BASE64" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build Docker image
|
||||||
|
run: |
|
||||||
|
docker build \
|
||||||
|
--build-arg FRAPPE_PATH=https://github.com/frappe/frappe \
|
||||||
|
--build-arg FRAPPE_BRANCH=${{ env.FRAPPE_BRANCH }} \
|
||||||
|
--build-arg APPS_JSON_BASE64=${{ env.APPS_JSON_BASE64 }} \
|
||||||
|
--tag digikwal/erpnext:${{ env.RELEASE_TAG }} \
|
||||||
|
--file images/layered/Containerfile .
|
||||||
|
|
||||||
|
- name: Push Docker image and tags
|
||||||
|
run: |
|
||||||
|
docker push digikwal/erpnext:${{ env.RELEASE_TAG }}
|
||||||
|
if [[ "${{ env.RELEASE_TAG }}" != *"-"* ]]; then
|
||||||
|
docker tag digikwal/erpnext:${{ env.RELEASE_TAG }} digikwal/erpnext:latest
|
||||||
|
docker push digikwal/erpnext:latest
|
||||||
|
else
|
||||||
|
docker tag digikwal/erpnext:${{ env.RELEASE_TAG }} digikwal/erpnext:dev
|
||||||
|
docker push digikwal/erpnext:dev
|
||||||
|
fi
|
||||||
10
.github/workflows/lint.yml
vendored
10
.github/workflows/lint.yml
vendored
|
|
@ -4,12 +4,19 @@ on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- "images/**"
|
||||||
|
- ".github/workflows/docker-build.yml"
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- "images/**"
|
||||||
|
- ".github/workflows/docker-build.yml"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
|
if: ${{ github.repository == 'digikwal/frappe_docker' }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|
@ -20,8 +27,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
python-version: "3.10.6"
|
python-version: "3.10.6"
|
||||||
|
|
||||||
# For shfmt pre-commit hook
|
- name: Setup Go (for shfmt)
|
||||||
- name: Setup Go
|
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: "^1.14"
|
go-version: "^1.14"
|
||||||
|
|
|
||||||
26
.github/workflows/pre-commit-autoupdate.yml
vendored
26
.github/workflows/pre-commit-autoupdate.yml
vendored
|
|
@ -2,18 +2,36 @@ name: Autoupdate pre-commit hooks
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
# Every day at 7 am
|
# Every day at 4 am UTC
|
||||||
- cron: 0 7 * * *
|
- cron: 0 4 * * *
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre-commit-autoupdate:
|
pre-commit-autoupdate:
|
||||||
|
if: ${{ github.repository == 'digikwal/frappe_docker' }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
|
||||||
|
- name: Cache pre-commit environment
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/pre-commit
|
||||||
|
~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pre-commit-
|
||||||
|
|
||||||
|
- name: Install pre-commit
|
||||||
|
run: pip install -U pre-commit
|
||||||
|
|
||||||
- name: Update pre-commit hooks
|
- name: Update pre-commit hooks
|
||||||
uses: vrslev/pre-commit-autoupdate@v1.0.0
|
run: pre-commit autoupdate --color=always
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@v7
|
uses: peter-evans/create-pull-request@v7
|
||||||
|
|
@ -23,4 +41,4 @@ jobs:
|
||||||
commit-message: "chore(deps): Update pre-commit hooks"
|
commit-message: "chore(deps): Update pre-commit hooks"
|
||||||
body: Update pre-commit hooks
|
body: Update pre-commit hooks
|
||||||
labels: dependencies,development
|
labels: dependencies,development
|
||||||
delete-branch: True
|
delete-branch: true
|
||||||
|
|
|
||||||
60
.github/workflows/semantic-release.yml
vendored
Normal file
60
.github/workflows/semantic-release.yml
vendored
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
name: Semantic Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows:
|
||||||
|
- Lint
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: write
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm install
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: npm test
|
||||||
|
|
||||||
|
- name: Generate release notes and version
|
||||||
|
id: semantic_release
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
RELEASE_TAG=$(npx semantic-release | tee /dev/stderr | grep -oP '(?<=next release version is )[^ ]+')
|
||||||
|
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Create release metadata files
|
||||||
|
run: |
|
||||||
|
# Determine FRAPPE_BRANCH if not already set
|
||||||
|
FRAPPE_BRANCH=${{ vars.FRAPPE_BRANCH || 'version-15' }}
|
||||||
|
echo "FRAPPE_BRANCH=$FRAPPE_BRANCH" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
# Save metadata to files
|
||||||
|
echo "${RELEASE_TAG}" > release_tag.txt
|
||||||
|
echo "${FRAPPE_BRANCH}" > frappe_branch.txt
|
||||||
|
|
||||||
|
- name: Upload release metadata
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-metadata
|
||||||
|
path: |
|
||||||
|
release_tag.txt
|
||||||
|
frappe_branch.txt
|
||||||
10
.github/workflows/stale.yml
vendored
10
.github/workflows/stale.yml
vendored
|
|
@ -2,17 +2,21 @@ name: Mark stale issues and pull requests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
# Every day at 12:00 pm
|
# Every day at 00:00 UTC
|
||||||
- cron: 0 0 * * *
|
- cron: 0 0 * * *
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
stale:
|
stale:
|
||||||
|
if: ${{ github.repository == 'digikwal/frappe_docker' }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v9
|
- uses: actions/stale@v9
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
stale-issue-message: This issue has been automatically marked as stale. You have a week to explain why you believe this is an error.
|
stale-issue-message: >
|
||||||
stale-pr-message: This PR has been automatically marked as stale. You have a week to explain why you believe this is an error.
|
This issue has been automatically marked as stale. You have a week to explain why you believe this is an error.
|
||||||
|
stale-pr-message: >
|
||||||
|
This PR has been automatically marked as stale. You have a week to explain why you believe this is an error.
|
||||||
stale-issue-label: no-issue-activity
|
stale-issue-label: no-issue-activity
|
||||||
stale-pr-label: no-pr-activity
|
stale-pr-label: no-pr-activity
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue