Bump actions/checkout from 3 to 4 #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Server (MariaDB) | |
on: | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: patch-mariadb-develop-${{ github.event.number }} | |
cancel-in-progress: true | |
permissions: | |
# Do not change this as GITHUB_TOKEN is being used by roulette | |
contents: read | |
jobs: | |
test: | |
name: Patch | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
services: | |
mariadb: | |
image: mariadb:10.6 | |
env: | |
MARIADB_ROOT_PASSWORD: travis | |
ports: | |
- 3306:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 | |
steps: | |
- name: Clone | |
uses: actions/checkout@v4 | |
- name: Check for valid Python & Merge Conflicts | |
run: | | |
python -m compileall -f "${GITHUB_WORKSPACE}" | |
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}" | |
then echo "Found merge conflicts" | |
exit 1 | |
fi | |
- name: Check if build should be run | |
id: check-build | |
run: | | |
python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" | |
env: | |
TYPE: "server" | |
PR_NUMBER: ${{ github.event.number }} | |
REPO_NAME: ${{ github.repository }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup Python | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: | | |
3.7 | |
3.10 | |
- name: Setup Node | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
check-latest: true | |
- name: Add to Hosts | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
run: echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts | |
- name: Cache pip | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml', '**/setup.py') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
${{ runner.os }}- | |
- name: Cache node modules | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Get yarn cache directory path | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
id: yarn-cache-dir-path | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- uses: actions/cache@v3 | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install Dependencies | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
run: | | |
bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh | |
pip install frappe-bench | |
bash ${GITHUB_WORKSPACE}/.github/helper/install.sh | |
env: | |
BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} | |
AFTER: ${{ env.GITHUB_EVENT_PATH.after }} | |
TYPE: server | |
DB: mariadb | |
- name: Run Patch Tests | |
if: ${{ steps.check-build.outputs.build == 'strawberry' }} | |
run: | | |
cd ~/frappe-bench/ | |
wget https://frappeframework.com/files/v10-frappe.sql.gz | |
bench --site test_site --force restore ~/frappe-bench/v10-frappe.sql.gz | |
source env/bin/activate | |
cd apps/frappe/ | |
git remote set-url upstream https://github.com/frappe/frappe.git | |
function update_to_version() { | |
version=$1 | |
py=$2 | |
branch_name="version-$version-hotfix" | |
echo "Updating to v$version" | |
git fetch --depth 1 upstream $branch_name:$branch_name | |
git checkout -q -f $branch_name | |
pgrep honcho | xargs kill | |
rm -rf ~/frappe-bench/env | |
bench -v setup env --python $py | |
bench start &> ~/frappe-bench/bench_start.log & | |
bench --site test_site migrate | |
} | |
update_to_version 12 python3.7 | |
update_to_version 13 python3.7 | |
echo "Updating to last commit" | |
git checkout -q -f "$GITHUB_SHA" | |
rm -rf ~/frappe-bench/env | |
bench -v setup env | |
bench --site test_site migrate |