From c995c25e641312f59e44459515676492747042e5 Mon Sep 17 00:00:00 2001 From: Bill Date: Sun, 15 Sep 2024 14:33:39 -0400 Subject: [PATCH] Added build workflow --- .gitea/workflows/build.yaml | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .gitea/workflows/build.yaml diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..a3e7e48 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,61 @@ +name: Build +run-name: Build Docker Image +on: [push, pull_request] + +jobs: + + runs-on: ubuntu-latest + + steps: + - name: Set up Docker Buildx + uses: crazy-max/ghaction-docker-buildx@v1 + + - name: Checkout + uses: actions/checkout@v2 + + - name: Prepare Docker build + id: prepare + run: | + function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; } + + BITCOIN_VERSION='24' + LATEST_BITCOIN_MAJOR_VERSION=$(find . -type d -maxdepth 1 -not -path '*/\.*' | sort -n | tail -n 1 | cut -c 3-) + PLATFORMS="linux/amd64" + PUSH=false + TAGS='bill/bitcoin-docker:24' + + echo ::set-output name=build_date::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + echo ::set-output name=docker_platforms::${PLATFORMS} + echo ::set-output name=docker_username::${{ gitea.repository_owner }} + echo ::set-output name=push::${PUSH} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=build::true + + - if: ${{ steps.prepare.outputs.build }} == 'true' + name: Login into Registry + uses: docker/login-action@v3 + with: + username: ${{ gitea.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - if: ${{ steps.prepare.outputs.build }} == 'true' + name: Build Docker image + run: | + TAGS=(${{ steps.prepare.outputs.tags }}) + + echo "Build date: ${{ steps.prepare.outputs.build_date }}" + echo "Docker platform: ${{ steps.prepare.outputs.docker_platforms }}" + echo "Push: ${{ steps.prepare.outputs.push }}" + echo "Tags: ${{ steps.prepare.outputs.tags }}" + + echo docker buildx build --platform ${{ steps.prepare.outputs.docker_platforms }} \ + --output "type=image,push=${{steps.prepare.outputs.push}}" \ + --progress=plain \ + --build-arg "BUILD_DATE=${{ steps.prepare.outputs.build_date }}" \ + $(printf "%s" "${TAGS[@]/#/ --tag }" )/ + + docker buildx build --platform ${{ steps.prepare.outputs.docker_platforms }} \ + --output "type=image,push=${{steps.prepare.outputs.push}}" \ + --progress=plain \ + --build-arg "BUILD_DATE=${{ steps.prepare.outputs.build_date }}" \ + $(printf "%s" "${TAGS[@]/#/ --tag }" )/ \ No newline at end of file