This repository contains a collection of custom GitHub Actions and Github Workflows to automate various tasks. These scripts can be used in your GitHub repository to streamline your development and deployment processes.
- workflows/: Contains reusable GitHub workflow files.
- hooks/: Contains pre-commit hooks to copy into your repository, with an example configuration.
- debian-build: Builds a Debian package, runs integration tests, and uploads the
.debas a build artifact - debian-deploy: Retrieves the
.debbuild artifact and adds it to a remote Debian repository usingreprepro - maven-build-deploy: Builds a Maven project, runs integration tests, and optionally deploys
.jar/.war/.earfiles to the AKTIN Maven repository
To use a reusable GitHub workflow from this repository, reference the workflow file inside .github/workflows/.
# .github/workflows/my-workflow.yml
name: My Workflow
on:
push:
branches:
- main
jobs:
call-reusable-workflow:
uses: aktin/aktin-github-scripts/.github/workflows/workflow1.yml@main
with:
input1: 'value1'
input2: 'value2'
secrets:
my_secret: ${{ secrets.MY_SECRET }}- block-data-files: Rejects staged data files (
.csv,.xlsx,.sql,.dcm,.hl7, ...) outsidetests/fixtures/to keep patient data out of the repository - check-large-files: Rejects staged files larger than 500 KB
- check-commit-size: Rejects commits that change more than 200 lines in total (insertions plus deletions). Configure the limit with
args: ['--max-lines=300'] - check-commit-message: Validates the commit message against the EU System Conventional Commit rules (
<type>(<scope>): <subject>)
The hooks are an offer for other repositories, nothing is enforced in this repository. Copy the hooks/ folder into your repository and use hooks/pre-commit-config.example.yaml as your .pre-commit-config.yaml. Adjust the entry paths if you rename the folder. Then install the hooks once with pre-commit install.
This repository is licensed under GNU Affero General Public License v3.0. See the LICENSE file for more details.