diff --git a/.gitea/workflows/simple-container.yaml b/.gitea/workflows/simple-container.yaml index 4da9f48..f010312 100644 --- a/.gitea/workflows/simple-container.yaml +++ b/.gitea/workflows/simple-container.yaml @@ -4,24 +4,30 @@ on: workflow_call: inputs: dockerfile: + description: "Dockerfile to use for the build" required: true type: string default: Dockerfile git_user: - require: true + description: "Git user to use for checkout and the container registry" + required: true type: string default: campenbe package-name: + description: "Name of the package to build" required: true type: string package-label: + description: "Label to use for the package" required: true type: string builder-image: + description: "Container image to use for the build" required: false type: string default: gitea.ampenberger.com/campenbe/img-builder:3.21-1.24 version: + description: "Version string passed to the Docker build as build-arg" required: false type: string default: development @@ -45,7 +51,7 @@ jobs: container: image: ${{inputs.builder-image}} credentials: - username: campenbe + username: ${{inputs.git_user}} password: ${{secrets.PASSWORD}} steps: @@ -65,7 +71,7 @@ jobs: - name: Build container run: | - buildah build -f ${{inputs.dockerfile}} --build-arg GIT_TOKEN=${{secrets.GIT_TOKEN}} --build-arg VERSION=${{inputs.version}} -t gitea.ampenberger.com/campenbe/${PACKAGE_NAME}:${LABEL} + buildah build -f ${{inputs.dockerfile}} --build-arg GIT_TOKEN=${{secrets.GIT_TOKEN}} --build-arg VERSION=${{inputs.version}} -t gitea.ampenberger.com/${{inputs.git_user}}/${PACKAGE_NAME}:${LABEL} echo "Built ${PACKAGE_NAME}:${LABEL}" buildah images diff --git a/README.md b/README.md new file mode 100644 index 0000000..c156a0e --- /dev/null +++ b/README.md @@ -0,0 +1,39 @@ +This repository is public and contains shared workflows that are used +in other builds. Each workflow takes a number of parameters and +secrets as inputs. Parameters and secrets are documented in the +respective workflows. + +At this point the the following workflows are available: + +- ```simple-container.yaml``` - One shot of build of a container through + a given Dockerfile. +- ```go-binary.yaml``` - Builds a golang binary and uploads the binary + as artifact. +- ```container-from-artifact.yaml``` - Builds and uploads a container from + a given artifact and a given Dockerfile. + +## Usage + +The workflows are used with in a master workflow through a workflow +call, like below. Also see [build.yaml](https://gitea.ampenberger.com/campenbe/synauth/src/branch/main/.gitea/workflows/build.yaml) +for an example + + ``` + .... + build-container: + uses: https://gitea.ampenberger.com/campenbe/workflows/.gitea/workflows/container-from-artifact.yaml@2025-10-01-1 + with: + artifact_name: my_source_artifact + dockerfile: Dockerfile.small + package-name: cool-project + package-label: v1 + version: v1-r1 + secrets: + PASSWORD: ${{ secrets.PASSWORD }} + GIT_TOKEN: ${{ secrets.GIT_TOKEN }} + ``` + +## Development + +To avoid caching issues always tag a new version and refer to the respective +version with the tag in the consuming workflow. \ No newline at end of file