Skip to content

Commit

Permalink
reusable
Browse files Browse the repository at this point in the history
  • Loading branch information
karllu3 committed Jul 26, 2024
1 parent c0430bd commit 4e4cca1
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 2 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/generate_default_project.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Generate default project
on:
push:

jobs:
test-Github-default-instance:
uses: ./.github/workflows/generate_default_project_reusable.yaml
with:
repo-path: github.com/karllu3/ds-lk-default.git
repo-user: karllu3
repo-email: [email protected]
cookiecutter-profile: cookiecutter_default_gh.yaml
secrets:
repo-token: ${{ secrets.REPO_KEY_GITHUB }}

test-GitLab-default-instance:
uses: ./.github/workflows/generate_default_project_reusable.yaml
with:
repo-path: gitlab.com/lukasz.karlowski/ds-lk-default.git
repo-user: lukasz karlowski
repo-email: [email protected]
cookiecutter-profile: cookiecutter_default_gh.yaml
secrets:
repo-token: ${{ secrets.REPO_KEY_GITLAB }}
82 changes: 82 additions & 0 deletions .github/workflows/generate_default_project_reusable.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Generate default project template

on:
workflow_call:
inputs:
repo-path:
required: true
type: string
repo-user:
required: true
type: string
repo-email:
required: true
type: string
cookiecutter-profile:
required: true
type: string
secrets:
repo-token:
required: true

jobs:
validate-instance:
runs-on: ubuntu-latest
container: python:3.11
permissions:
contents: read
pages: write
env:
TEST_REPO_TOKEN: ${{ secrets.repo-token }}

steps:
- uses: actions/checkout@v4

- name: Cache Dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install Dependencies
run: pip install -r requirements.txt

- name: Create Github project instance
run: cookiecutter . --no-input --config-file ${{ inputs.cookiecutter-profile }}

- name: Remote checkout
run: |
git clone https://oauth2:${{ env.TEST_REPO_TOKEN }}@github.com/{inputs.repo-path} ds-default-repo
cp -r ds-default/. ds-default-repo
- name: Set safe directory
run: |
git config --global --add safe.directory /__w/ds-template/ds-template
- name: Prepare local git repo
working-directory: ./ds-default-repo
run: |
git config --local user.email ${{ inptus.repo-email }}
git config --local user.name ${{ inputs.repo-user }}
git checkout -b ds-default-check
git add .
- name: Validate package build
working-directory: ./ds-default-repo
run: |
python -m pip install .
- name: Install pre-commit
run: pip3 install pre-commit

- name: Run pre-commit checks
working-directory: ./ds-default-repo
run: pre-commit run --all-files --show-diff-on-failure --color always

- name: Push repo
working-directory: ./ds-default-repo
run: |
git commit -m "Repo after creation"
git push --set-upstream origin ds-default-check -f
2 changes: 1 addition & 1 deletion cookiecutter_default_gh.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
default_context:
client_name: "ds"
project_name: "gh_default"
project_name: "ds_default"
ci: "Github"
jupytext": "No"
2 changes: 1 addition & 1 deletion cookiecutter_default_gl.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
default_context:
client_name: "ds"
project_name: "gl_default"
project_name: "ds_default"
ci: "GitLab"
jupytext": "No"

0 comments on commit 4e4cca1

Please sign in to comment.