From b4b85e9bbadb69d0cdcdae2a833e49554f61d4d1 Mon Sep 17 00:00:00 2001 From: ftsell Date: Mon, 12 Feb 2024 15:18:12 +0100 Subject: [PATCH] add github action for testing --- .github/workflows/test.yml | 50 +++++++++++++++++++ hooks/post_gen_project.py | 2 +- .../.pre-commit-config.yaml | 4 +- 3 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..848c3f2 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,50 @@ +name: test +on: + push: + branches: [ "*" ] + +env: + artifact_name: test_project + +jobs: + create-test-project: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: install dependencies + run: | + sudo apt install cookiecutter pre-commit npm + pip install pipenv + npm install -g pnpm + - name: create project with cookiecutter + run: | + git config --global init.defaultBranch main + git config --global user.email "github-actions@github.com" + git config --global user.name "GitHub Actions" + cookiecutter --no-input --output-dir /tmp ./ project_slug=github_test_project + - id: upload-artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ env.artifact_name }} + path: | + /tmp/github_test_project + !/tmp/github_test_project/**/node_modules + retention-days: 1 + + run-test-project: + runs-on: ubuntu-latest + needs: [ create-test-project ] + steps: + - name: install system dependencies + run: | + sudo apt install npm + pip install pipenv + npm install -g pnpm + - uses: actions/download-artifact@v4 + with: + name: ${{ env.artifact_name }} + - run: ls src/ + - name: install project dependencies + run: pipenv sync --dev + - name: manage.py --help + run: pipenv run ./src/manage.py --help diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 5d3eb6a..8efa583 100755 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -17,5 +17,5 @@ def git_commit(message: str): # lock & install dependencies subprocess.check_call("pipenv lock".split(" ")) subprocess.check_call("pipenv sync".split(" ")) - subprocess.check_call("pnpm install".split(" "), cwd="./src/{{ cookiecutter.project_slug }}_gui") + subprocess.check_call("pnpm install --no-frozen-lockfile".split(" "), cwd="./src/{{ cookiecutter.project_slug }}_gui") git_commit("lock dependencies") diff --git a/{{ cookiecutter.project_slug }}/.pre-commit-config.yaml b/{{ cookiecutter.project_slug }}/.pre-commit-config.yaml index 14378dd..3d7af29 100644 --- a/{{ cookiecutter.project_slug }}/.pre-commit-config.yaml +++ b/{{ cookiecutter.project_slug }}/.pre-commit-config.yaml @@ -9,11 +9,11 @@ repos: - id: check-added-large-files - repo: https://github.com/psf/black.git - rev: "23.11.0" + rev: "24.1.1" hooks: - id: black - repo: https://github.com/PyCQA/isort.git - rev: "5.12.0" + rev: "5.13.2" hooks: - id: isort