diff --git a/.gitea/workflows/build_container.yml b/.gitea/workflows/build_containerORIG.yml similarity index 98% rename from .gitea/workflows/build_container.yml rename to .gitea/workflows/build_containerORIG.yml index a15953d..efc50b4 100644 --- a/.gitea/workflows/build_container.yml +++ b/.gitea/workflows/build_containerORIG.yml @@ -1,7 +1,6 @@ name: build_push_container -on: - workflow_call: +on: [push] jobs: build: @@ -13,7 +12,7 @@ jobs: RUNNER_TOOL_CACHE: /toolcache strategy: matrix: - os: [latest] + os: [3.20.0, 3.21.0, 3.22.0] steps: - name: "Build: checkout" uses: actions/checkout@v4 diff --git a/.gitea/workflows/build_container_reusable1.yml b/.gitea/workflows/build_container_reusable1.yml new file mode 100644 index 0000000..3e17e4d --- /dev/null +++ b/.gitea/workflows/build_container_reusable1.yml @@ -0,0 +1,89 @@ +name: build_push_container + +on: + workflow_call: + inputs: + repository: + required: true + type: string + ref: + required: true + type: string + secrets: + token: + required: true +jobs: + build: + runs-on: ubuntu-latest + # container: ghcr.io/catthehacker/ubuntu:act-latest + env: + DOCKER_ORG: teacup + DOCKER_LATEST: nightly + RUNNER_TOOL_CACHE: /toolcache + strategy: + matrix: + os: [latest] + steps: + - name: "Build: checkout" + uses: actions/checkout@v4 + + - name: "Build: set up Docker buildx" + uses: docker/setup-buildx-action@v3 + with: + buildkitd-flags: --debug + + - name: "Build: login to registry" + uses: docker/login-action@v3 + with: + registry: https://${{ secrets.MY_REGISTRY }} + username: ${{ secrets.MY_REGISTRY_USERNAME }} + password: ${{ secrets.MY_REGISTRY_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ secrets.MY_REGISTRY }}/${{ github.repository }} + + - name: Set Image Name + env: + myTITLE: ${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.title'] }} + id: split + run: echo "myTITLE=${myTITLE##*d_}" | tee -a "$GITHUB_ENV" + + # - name: Show Image Name + # run: echo ${{ env.myTITLE }} + + - name: "Build: build and push dockerimage" + uses: docker/build-push-action@v5 + with: + build-args: | + VERSION=${{ matrix.os }} + NAS_USER=dnke + context: . + push: true + tags: ${{ secrets.MY_REGISTRY }}/${{ secrets.MY_REGISTRY_USERNAME }}/${{ env.myTITLE }}:${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} + labels: ${{ steps.meta.outputs.labels }} + + - name: "Build: build and push dockerimage" + uses: docker/build-push-action@v5 + with: + build-args: | + VERSION=${{ matrix.os }} + NAS_USER=dnke + context: . + push: true + tags: ${{ secrets.MY_REGISTRY }}/${{ secrets.MY_REGISTRY_USERNAME }}/${{ env.myTITLE }}:${{ matrix.os }} + labels: ${{ steps.meta.outputs.labels }} + + - name: "Build: build and push dockerimage" + uses: docker/build-push-action@v5 + with: + build-args: | + VERSION=${{ matrix.os }} + NAS_USER=dnke + context: . + push: true + tags: ${{ secrets.MY_REGISTRY }}/${{ secrets.MY_REGISTRY_USERNAME }}/${{ env.myTITLE }}:latest + labels: ${{ steps.meta.outputs.labels }} + diff --git a/.gitea/workflows/build_container_reuseable.yml b/.gitea/workflows/build_container_reuseable.yml new file mode 100644 index 0000000..0d9ffe7 --- /dev/null +++ b/.gitea/workflows/build_container_reuseable.yml @@ -0,0 +1,70 @@ +name: Build and Push Container + +on: + workflow_call: + inputs: + registry: + required: true + type: string + registry_username: + required: true + type: string + registry_password: + required: true + type: string + titles: + required: true + type: string + +jobs: + build: + runs-on: ubuntu-latest + env: + DOCKER_ORG: teacup + DOCKER_LATEST: nightly + RUNNER_TOOL_CACHE: /toolcache + strategy: + matrix: + os: [3.20.0, 3.21.0, 3.22.0] + steps: + - name: "Build: checkout" + uses: actions/checkout@v4 + + - name: "Build: set up Docker buildx" + uses: docker/setup-buildx-action@v3 + with: + buildkitd-flags: --debug + + - name: "Build: login to registry" + uses: docker/login-action@v3 + with: + registry: ${{ inputs.registry }} + username: ${{ inputs.registry_username }} + password: ${{ secrets.MY_REGISTRY_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ inputs.registry }}/${{ github.repository }} + + - name: Set Image Name + env: + myTITLE: ${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.title'] }} + id: split + run: echo "myTITLE=${myTITLE##*d_}" | tee -a "$GITHUB_ENV" + + # Build and push Docker images + - name: "Build and push Docker image for each version" + uses: docker/build-push-action@v5 + with: + build-args: | + VERSION=${{ matrix.os }} + NAS_USER=dnke + context: . + push: true + tags: | + ${{ inputs.registry }}/${{ inputs.registry_username }}/${{ env.myTITLE }}:${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} + ${{ inputs.registry }}/${{ inputs.registry_username }}/${{ env.myTITLE }}:${{ matrix.os }} + ${{ inputs.registry }}/${{ inputs.registry_username }}/${{ env.myTITLE }}:latest + labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitea/workflows/caller.yml b/.gitea/workflows/caller.yml new file mode 100644 index 0000000..dcdb339 --- /dev/null +++ b/.gitea/workflows/caller.yml @@ -0,0 +1,12 @@ +name: CI Workflow + +on: [push] + +jobs: + build_push: + uses: ./.github/workflows/build_push_container.yml + with: + registry: https://${{ secrets.MY_REGISTRY }} + registry_username: ${{ secrets.MY_REGISTRY_USERNAME }} + registry_password: ${{ secrets.MY_REGISTRY_PASSWORD }} + titles: 'Your Image Title' # Specify any required titles or metadata if needed