Skip to content

Commit

Permalink
Template update and related #41
Browse files Browse the repository at this point in the history
Template update and related
  • Loading branch information
dontseyit authored May 31, 2024
2 parents 16f45c2 + ceb9371 commit 10cc681
Show file tree
Hide file tree
Showing 81 changed files with 2,009 additions and 1,788 deletions.
5 changes: 0 additions & 5 deletions .coveragerc

This file was deleted.

1 change: 0 additions & 1 deletion .description.md

This file was deleted.

2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/vscode/devcontainers/python:3.9-bullseye
FROM mcr.microsoft.com/devcontainers/python:1-3.12-bookworm

ENV PYTHONUNBUFFERED 1

Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/dev_install
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ cd /workspace
python -m pip install --upgrade pip

# install or upgrade dependencies for development and testing
pip install --no-deps -r requirements-dev.txt
pip install --no-deps -r ./lock/requirements-dev.txt

# install the package itself in edit mode:
pip install --no-deps -e .
Expand Down
8 changes: 2 additions & 6 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.177.0/containers/python-3-postgres
// Update the VARIANT arg in docker-compose.yml to pick a Python version: 3, 3.8, 3.7, 3.6
{
"name": "${localWorkspaceFolderBasename}",
"dockerComposeFile": "docker-compose.yml",
Expand All @@ -20,13 +19,10 @@
"python.languageServer": "Pylance",
"python.analysis.typeCheckingMode": "basic",
"python.testing.pytestPath": "/usr/local/py-utils/bin/pytest",
"python.testing.pytestArgs": [
"--profile"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
"source.organizeImports": "explicit"
},
"editor.formatOnSave": true,
"editor.renderWhitespace": "all",
Expand Down Expand Up @@ -75,4 +71,4 @@
// details can be found here: https://github.com/devcontainers/features/tree/main/src/docker-outside-of-docker
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
}
}
}
1 change: 0 additions & 1 deletion .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ services:
# [Choice] Install Node.js
INSTALL_NODE: "true"
NODE_VERSION: "lts/*"
# Please adapt to package name:
PACKAGE_NAME: "ghga_transpiler"
# On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000.
USER_UID: 1000
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/license_header.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2021 - 2023 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
for the German Human Genome-Phenome Archive (GHGA)

Licensed under the Apache License, Version 2.0 (the "License");
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/check_pyproject.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Check if pyproject.toml file is up to date

on: push

jobs:
static-code-analysis:
name: Check pyproject file

runs-on: ubuntu-latest

steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4

- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6

- name: Check pyproject.toml
id: check-pyproject
run: |
./scripts/update_pyproject.py --check
16 changes: 0 additions & 16 deletions .github/workflows/check_readme.yaml

This file was deleted.

17 changes: 13 additions & 4 deletions .github/workflows/check_template_files.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,23 @@ on: push

jobs:
check-template-files:
name: Check template files

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python 3.9
uses: actions/setup-python@v4
- name: Checkout repository
id: checkout
uses: actions/checkout@v4

- name: Set up Python 3.12
id: setup-python
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: '3.12'

- name: Check template files
id: check-template-files
run: |
if [ "${{ github.event.repository.name }}" == "microservice-repository-template" ]
then
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/ci_release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ on:

jobs:
push_to_docker_hub:
name: Push to Docker Hub

runs-on: ubuntu-latest

steps:
- uses: ghga-de/gh-action-ci@v1
with:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/ci_workflow_dispatch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,17 @@ on:

jobs:
fetch-tag:
name: Fetch Tag
runs-on: ubuntu-latest
if: ( github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'build') ) || ( github.event.action == 'labeled' && github.event.label.name == 'build' )
if: github.event_name == 'workflow_dispatch' || ( github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'build') ) || ( github.event.action == 'labeled' && github.event.label.name == 'build' )
steps:
- id: fetch-tag
uses: ghga-de/gh-action-fetch-tag@v1
outputs:
latest_tag: ${{ steps.fetch-tag.outputs.latest_tag }}

push_to_docker_hub:
name: Push to Docker Hub
needs: fetch-tag
runs-on: ubuntu-latest
steps:
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/pypi_publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ jobs:
with:
python-version: "3.9"

- name: Verify Package Version vs Tag Version
- name: Ensure package version and tag are equal
run: |
PKG_VER="$(grep -oP 'version = "\K[^"]+' pyproject.toml)"
PKG_VER="$(grep -oP '^version = "\K[^"]+' pyproject.toml)"
TAG_VER="${GITHUB_REF##*/}"
echo "Package version is $PKG_VER" >&2
echo "Tag version is $TAG_VER" >&2
if [ "$PKG_VER" != "$TAG_VER" ]; then
Expand All @@ -43,7 +45,7 @@ jobs:
--outdir dist/
.
- name: Install the newly build package with all extras
- name: Install the newly built package with all extras
run: |
TAR_PATH="$( realpath ./dist/*.tar.gz)"
python -m \
Expand All @@ -54,7 +56,7 @@ jobs:
run: >-
python -m
pip install
-r requirements-dev.txt
--no-deps -r ./lock/requirements-dev.txt
- name: Run pytest on freshly installed package
run: |
Expand Down
28 changes: 20 additions & 8 deletions .github/workflows/static_code_analysis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,36 @@ on: push

jobs:
static-code-analysis:
runs-on: ubuntu-latest
name: Static Code Analysis

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Checkout repository
id: checkout
uses: actions/checkout@v4

- id: common
uses: ghga-de/gh-action-common@v3
- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6

- uses: pre-commit/action@v3.0.0
- name: Run pre-commit
uses: pre-commit/action@v3.0.1
env:
SKIP: no-commit-to-branch
- name: ruff

- name: Run ruff
id: ruff
run: |
ruff check --output-format=github .
ruff format --check .
- name: mypy
- name: Run mypy
id: mypy
run: |
mypy .
- name: Check license header and file
id: license-checker
run: |
./scripts/license_checker.py
./scripts/check_license.py
21 changes: 13 additions & 8 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
name: Tests
name: Run test suite and measure coverage

on: push

jobs:
tests:
name: Run test suite

runs-on: ubuntu-latest
name: Tests

steps:
- uses: actions/checkout@v3
- name: Checkout repository
id: checkout
uses: actions/checkout@v4

- id: common
uses: ghga-de/gh-action-common@v3
- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6

- id: pytest
- name: Run tests
id: pytest
run: |
export ${{ steps.common.outputs.CONFIG_YAML_ENV_VAR_NAME }}="${{ steps.common.outputs.CONFIG_YAML }}"
Expand All @@ -22,8 +27,8 @@ jobs:
--cov-report=xml \
tests
- id: coveralls
name: Upload coverage to coveralls
- name: Upload coverage to coveralls
id: coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
Expand Down
12 changes: 0 additions & 12 deletions .mypy.ini

This file was deleted.

16 changes: 4 additions & 12 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks

default_language_version:
python: python3.9

minimum_pre_commit_version: 3.0.0
minimum_pre_commit_version: 3.7.0

repos:
- repo: local
Expand Down Expand Up @@ -49,19 +46,14 @@ repos:
- id: no-commit-to-branch
args: [--branch, dev, --branch, int, --branch, main]
- id: debug-statements
- id: debug-statements
- id: debug-statements
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.0.291
rev: v0.4.4
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- repo: https://github.com/psf/black
rev: 23.11.0
hooks:
- id: black
- id: ruff-format
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.5.1
rev: v1.10.0
hooks:
- id: mypy
args: [--no-warn-unused-ignores]
29 changes: 29 additions & 0 deletions .pyproject_generation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!--
Copyright 2021 - 2024 Universität Tübingen, DKFZ, EMBL, and Universität zu Köln
for the German Human Genome-Phenome Archive (GHGA)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

# Generating the pyproject.toml

The pyproject.toml of the service is generated by combining static configuration
captured in [`./pyproject_template.toml`](./pyproject_template.toml) and custom
package metadata specified in [`./pyproject_custom.toml`](./pyproject_custom.toml).

The `./pyproject_template.toml` is managed by the template, please do not edit manually.

You may specify properties in the `./pyproject_custom.toml` which are already specified
in the `./pyproject_template.toml`. In that case, the `./pyproject_custom.toml` takes
priority.
18 changes: 18 additions & 0 deletions .pyproject_generation/pyproject_custom.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[project]
name = "ghga_transpiler"
version = "2.1.0"
description = "GHGA-Transpiler - excel to JSON converter"
dependencies = [
"typer >= 0.12",
"openpyxl >= 3.1.2, == 3.*",
"defusedxml >= 0.7, == 0.*",
"pydantic >=2, <3",
"PyYAML ~= 6.0",
"semver == 3.*"
]

[project.urls]
Repository = "https://github.com/ghga-de/ghga-transpiler"

[project.scripts]
ghga-transpiler = "ghga_transpiler.__main__:run"
Loading

0 comments on commit 10cc681

Please sign in to comment.