Skip to content

Commit

Permalink
feat: Change the default template tag delimiter (#97)
Browse files Browse the repository at this point in the history
Implements a new way to use the jinja2 tag delimiter, and instead of `{{ any_code }}` it will look like `${{ any_code }}`.
It looks similar to github actions workflow tag delimiter for variables, and this also allow us to use prettier auto-format tool to format our makim config file without any weird conflict.
  • Loading branch information
xmnlab authored Mar 18, 2024
1 parent 303b29c commit 7037195
Show file tree
Hide file tree
Showing 26 changed files with 499 additions and 471 deletions.
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
* makim version:
* Python version:
* Operating System:
- makim version:
- Python version:
- Operating System:

### Description

Describe what you were trying to get done.
Tell us what happened, what went wrong, and what you expected to happen.
Describe what you were trying to get done. Tell us what happened, what went
wrong, and what you expected to happen.

### What I Did

Expand Down
10 changes: 8 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
## Pull Request description

<!-- Describe the purpose of your PR and the changes you have made. -->

<!-- Which issue this PR aims to resolve or fix? E.g.:
Expand All @@ -14,26 +15,31 @@ Solving issue #004
* ...
-->

* ```...```
- `...`

<!-- Modify the options to suit your project. -->

## Pull Request checklists

This PR is a:

- [ ] bug-fix
- [ ] new feature
- [ ] maintenance

About this PR:

- [ ] it includes tests.
- [ ] the tests are executed on CI.
- [ ] the tests generate log file(s) (path).
- [ ] pre-commit hooks were executed locally.
- [ ] this PR requires a project documentation update.

Author's checklist:

- [ ] I have reviewed the changes and it contains no misspelling.
- [ ] The code is well commented, especially in the parts that contain more complexity.
- [ ] The code is well commented, especially in the parts that contain more
complexity.
- [ ] New and old tests passed locally.

## Additional information
Expand Down
256 changes: 128 additions & 128 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: build

on:
push:
branches: [ main ]
branches: [main]
pull_request:
branches: [ main ]
branches: [main]

jobs:
check-branch:
Expand Down Expand Up @@ -33,14 +33,14 @@ jobs:
strategy:
matrix:
python_version:
- '3.8.1'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- "3.8.1"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
os:
- 'ubuntu'
- 'macos'
- "ubuntu"
- "macos"
# poetry is failing on windows: https://github.com/python-poetry/poetry/issues/1031
# - 'windows'

Expand All @@ -56,97 +56,97 @@ jobs:
cancel-in-progress: true

steps:
- uses: actions/checkout@v3

- name: Install MacOS extra tools and add extra setup
if: ${{ matrix.os == 'macos' }}
run: |
sudo mkdir -p /tmp
sudo chmod 777 /tmp
brew install gnu-sed
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bash_profile
gsed -i s:/tmp:/private/tmp:g tests/smoke/.makim-working-directory-absolute-path.yaml
gsed -i s:/tmp:/private/tmp:g tests/smoke/.makim-working-directory-no-path.yaml
gsed -i s:/tmp:/private/tmp:g tests/smoke/.makim-working-directory-relative-path.yaml
- name: Prepare conda environment (windows)
if: ${{ matrix.os == 'windows' }}
run: |
$env:Path += ";C:\Program Files\Git\usr\bin"
sed -i s/python\ 3\.8/python\ ${{ matrix.python_version }}/ conda/dev.yaml
cat conda/dev.yaml
- name: Prepare conda environment
if: ${{ matrix.os != 'windows' }}
run: |
sed -i s/python\ 3\.8\.1/python\ ${{ matrix.python_version }}/ conda/dev.yaml
cat conda/dev.yaml
- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-version: latest
environment-file: conda/dev.yaml
channels: conda-forge,nodefaults
activate-environment: makim
auto-update-conda: true
conda-solver: libmamba

- name: Check Poetry lock
run: poetry check

- name: Install dependencies
run: |
poetry config virtualenvs.create false
poetry install
- name: Run smoke tests using simple makim file
run: makim smoke-tests.simple

- name: Run smoke tests using complex makim file
run: makim smoke-tests.complex

- name: Run smoke tests using makim and containers-sugar
if: ${{ matrix.os != 'macos' }}
run: makim smoke-tests.containers

- name: Run smoke tests using different interpreters
run: makim smoke-tests.shell-app

- name: Run smoke tests using unittest makim file
run: makim smoke-tests.unittest

- name: Run smoke test using bash
run: makim smoke-tests.bash

- name: Run smoke test for variable envs
run: makim smoke-tests.vars-env

- name: Run smoke test for variables
run: makim smoke-tests.test-vars

- name: Run smoke test for working-directory-absolute-path
run: makim smoke-tests.working-directory-absolute-path

- name: Run smoke test for working-directory-no-path
run: makim smoke-tests.working-directory-no-path

- name: Run smoke test for working-directory-relative-path
run: makim smoke-tests.working-directory-relative-path

- name: Run unit tests
run: makim tests.unittest

- name: Semantic Release PR Title Check
uses: osl-incubator/[email protected]
if: success() || failure()
with:
convention-name: conventionalcommits

- name: Setup tmate session
if: "${{ failure() && (contains(github.event.pull_request.labels.*.name, 'ci:enable-debugging')) }}"
uses: mxschmitt/action-tmate@v3
- uses: actions/checkout@v3

- name: Install MacOS extra tools and add extra setup
if: ${{ matrix.os == 'macos' }}
run: |
sudo mkdir -p /tmp
sudo chmod 777 /tmp
brew install gnu-sed
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bash_profile
gsed -i s:/tmp:/private/tmp:g tests/smoke/.makim-working-directory-absolute-path.yaml
gsed -i s:/tmp:/private/tmp:g tests/smoke/.makim-working-directory-no-path.yaml
gsed -i s:/tmp:/private/tmp:g tests/smoke/.makim-working-directory-relative-path.yaml
- name: Prepare conda environment (windows)
if: ${{ matrix.os == 'windows' }}
run: |
$env:Path += ";C:\Program Files\Git\usr\bin"
sed -i s/python\ 3\.8/python\ ${{ matrix.python_version }}/ conda/dev.yaml
cat conda/dev.yaml
- name: Prepare conda environment
if: ${{ matrix.os != 'windows' }}
run: |
sed -i s/python\ 3\.8\.1/python\ ${{ matrix.python_version }}/ conda/dev.yaml
cat conda/dev.yaml
- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-version: latest
environment-file: conda/dev.yaml
channels: conda-forge,nodefaults
activate-environment: makim
auto-update-conda: true
conda-solver: libmamba

- name: Check Poetry lock
run: poetry check

- name: Install dependencies
run: |
poetry config virtualenvs.create false
poetry install
- name: Run smoke tests using simple makim file
run: makim smoke-tests.simple

- name: Run smoke tests using complex makim file
run: makim smoke-tests.complex

- name: Run smoke tests using makim and containers-sugar
if: ${{ matrix.os != 'macos' }}
run: makim smoke-tests.containers

- name: Run smoke tests using different interpreters
run: makim smoke-tests.shell-app

- name: Run smoke tests using unittest makim file
run: makim smoke-tests.unittest

- name: Run smoke test using bash
run: makim smoke-tests.bash

- name: Run smoke test for variable envs
run: makim smoke-tests.vars-env

- name: Run smoke test for variables
run: makim smoke-tests.test-vars

- name: Run smoke test for working-directory-absolute-path
run: makim smoke-tests.working-directory-absolute-path

- name: Run smoke test for working-directory-no-path
run: makim smoke-tests.working-directory-no-path

- name: Run smoke test for working-directory-relative-path
run: makim smoke-tests.working-directory-relative-path

- name: Run unit tests
run: makim tests.unittest

- name: Semantic Release PR Title Check
uses: osl-incubator/[email protected]
if: success() || failure()
with:
convention-name: conventionalcommits

- name: Setup tmate session
if: "${{ failure() && (contains(github.event.pull_request.labels.*.name, 'ci:enable-debugging')) }}"
uses: mxschmitt/action-tmate@v3

linter-and-docs:
needs: check-branch
Expand All @@ -162,31 +162,31 @@ jobs:
cancel-in-progress: true

steps:
- uses: actions/checkout@v3

- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-version: latest
environment-file: conda/dev.yaml
channels: conda-forge,nodefaults
activate-environment: makim
auto-update-conda: true
conda-solver: libmamba

- name: Install dependencies
run: |
poetry config virtualenvs.create false
poetry install
- name: Test documentation generation
run: makim docs.build

- name: Run style checks
if: success() || failure()
run: |
pre-commit install
makim tests.linter
- name: Setup tmate session
if: "${{ failure() && (contains(github.event.pull_request.labels.*.name, 'ci:enable-debugging')) }}"
uses: mxschmitt/action-tmate@v3
- uses: actions/checkout@v3

- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-version: latest
environment-file: conda/dev.yaml
channels: conda-forge,nodefaults
activate-environment: makim
auto-update-conda: true
conda-solver: libmamba

- name: Install dependencies
run: |
poetry config virtualenvs.create false
poetry install
- name: Test documentation generation
run: makim docs.build

- name: Run style checks
if: success() || failure()
run: |
pre-commit install
makim tests.linter
- name: Setup tmate session
if: "${{ failure() && (contains(github.event.pull_request.labels.*.name, 'ci:enable-debugging')) }}"
uses: mxschmitt/action-tmate@v3
4 changes: 2 additions & 2 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ name: Release
on:
workflow_dispatch:
push:
branches: [ main ]
branches: [main]
pull_request:
branches: [ main ]
branches: [main]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
Expand Down
Loading

0 comments on commit 7037195

Please sign in to comment.