diff --git a/.github/helper/translation.py b/.github/helper/translation.py deleted file mode 100644 index 9146b3b32b..0000000000 --- a/.github/helper/translation.py +++ /dev/null @@ -1,60 +0,0 @@ -import re -import sys - -errors_encounter = 0 -pattern = re.compile(r"_\(([\"']{,3})(?P((?!\1).)*)\1(\s*,\s*context\s*=\s*([\"'])(?P((?!\5).)*)\5)*(\s*,(\s*?.*?\n*?)*(,\s*([\"'])(?P((?!\11).)*)\11)*)*\)") -words_pattern = re.compile(r"_{1,2}\([\"'`]{1,3}.*?[a-zA-Z]") -start_pattern = re.compile(r"_{1,2}\([f\"'`]{1,3}") -f_string_pattern = re.compile(r"_\(f[\"']") -starts_with_f_pattern = re.compile(r"_\(f") - -# skip first argument -files = sys.argv[1:] -files_to_scan = [_file for _file in files if _file.endswith(('.py', '.js'))] - -for _file in files_to_scan: - with open(_file, 'r') as f: - print(f'Checking: {_file}') - file_lines = f.readlines() - for line_number, line in enumerate(file_lines, 1): - if 'frappe-lint: disable-translate' in line: - continue - - start_matches = start_pattern.search(line) - if start_matches: - starts_with_f = starts_with_f_pattern.search(line) - - if starts_with_f: - has_f_string = f_string_pattern.search(line) - if has_f_string: - errors_encounter += 1 - print(f'\nF-strings are not supported for translations at line number {line_number}\n{line.strip()[:100]}') - continue - else: - continue - - match = pattern.search(line) - error_found = False - - if not match and line.endswith((',\n', '[\n')): - # concat remaining text to validate multiline pattern - line = "".join(file_lines[line_number - 1:]) - line = line[start_matches.start() + 1:] - match = pattern.match(line) - - if not match: - error_found = True - print(f'\nTranslation syntax error at line number {line_number}\n{line.strip()[:100]}') - - if not error_found and not words_pattern.search(line): - error_found = True - print(f'\nTranslation is useless because it has no words at line number {line_number}\n{line.strip()[:100]}') - - if error_found: - errors_encounter += 1 - -if errors_encounter > 0: - print('\nVisit "https://frappeframework.com/docs/user/en/translations" to learn about valid translation strings.') - sys.exit(1) -else: - print('\nGood To Go!') diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml deleted file mode 100644 index bd622275d6..0000000000 --- a/.github/workflows/backport.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Backport -on: - pull_request_target: - types: - - closed - - labeled - -jobs: - main: - runs-on: ubuntu-latest - timeout-minutes: 60 - steps: - - name: Checkout Actions - uses: actions/checkout@v2 - with: - repository: "frappe/backport" - path: ./actions - ref: develop - - name: Install Actions - run: npm install --production --prefix ./actions - - name: Run backport - uses: ./actions/backport - with: - token: ${{secrets.BACKPORT_BOT_TOKEN}} - labelsToAdd: "backport" - title: "{{originalTitle}}" diff --git a/.github/workflows/initiate_release.yml b/.github/workflows/initiate_release.yml deleted file mode 100644 index 70347738f2..0000000000 --- a/.github/workflows/initiate_release.yml +++ /dev/null @@ -1,32 +0,0 @@ -# This workflow is agnostic to branches. Only maintain on develop branch. -# To add/remove versions just modify the matrix. - -name: Create weekly release pull requests -on: - schedule: - # 9:30 UTC => 3 PM IST Tuesday - - cron: "30 9 * * 2" - workflow_dispatch: - -jobs: - stable-release: - name: Release - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: ["13", "14"] - - steps: - - uses: octokit/request-action@v2.x - with: - route: POST /repos/{owner}/{repo}/pulls - owner: frappe - repo: erpnext - title: |- - "chore: release v${{ matrix.version }}" - body: "Automated weekly release." - base: version-${{ matrix.version }} - head: version-${{ matrix.version }}-hotfix - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 37bb37e1d2..ccd712065d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: Generate Semantic Release on: push: branches: - - version-13 + - version-14 jobs: release: name: Release @@ -13,10 +13,12 @@ jobs: with: fetch-depth: 0 persist-credentials: false + - name: Setup Node.js uses: actions/setup-node@v2 with: node-version: 18 + - name: Setup dependencies run: | npm install @semantic-release/git @semantic-release/exec --no-save diff --git a/.github/workflows/server-tests-mariadb.yml b/.github/workflows/server-tests-mariadb.yml index ccdfc8c109..e15fb88083 100644 --- a/.github/workflows/server-tests-mariadb.yml +++ b/.github/workflows/server-tests-mariadb.yml @@ -36,7 +36,7 @@ jobs: fail-fast: false matrix: - container: [1, 2, 3, 4] + container: [1, 2] name: Python Unit Tests @@ -117,7 +117,7 @@ jobs: FRAPPE_BRANCH: ${{ github.event.inputs.branch }} - name: Run Tests - run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --with-coverage --total-builds 4 --build-number ${{ matrix.container }}' + run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --total-builds 2 --build-number ${{ matrix.container }}' env: TYPE: server CI_BUILD_ID: ${{ github.run_id }} @@ -126,27 +126,3 @@ jobs: - name: Show bench output if: ${{ always() }} run: cat ~/frappe-bench/bench_start.log || true - - - name: Upload coverage data - uses: actions/upload-artifact@v3 - with: - name: coverage-${{ matrix.container }} - path: /home/runner/frappe-bench/sites/coverage.xml - - coverage: - name: Coverage Wrap Up - needs: test - runs-on: ubuntu-latest - steps: - - name: Clone - uses: actions/checkout@v2 - - - name: Download artifacts - uses: actions/download-artifact@v3 - - - name: Upload coverage data - uses: codecov/codecov-action@v2 - with: - name: MariaDB - fail_ci_if_error: true - verbose: true diff --git a/.releaserc b/.releaserc index 8a758ed30a..454adc7094 100644 --- a/.releaserc +++ b/.releaserc @@ -1,5 +1,5 @@ { - "branches": ["version-13"], + "branches": ["version-14"], "plugins": [ "@semantic-release/commit-analyzer", { "preset": "angular", @@ -21,4 +21,4 @@ ], "@semantic-release/github" ] -} \ No newline at end of file +} diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 3e418c48cf..1f2c489498 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -3,7 +3,7 @@ import inspect import frappe -__version__ = "15.0.0-dev" +__version__ = "15.0.0" def get_default_company(user=None):