Added build workflow
This commit is contained in:
61
.gitea/workflows/build.yaml
Normal file
61
.gitea/workflows/build.yaml
Normal file
@@ -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 }" )/
|
||||
Reference in New Issue
Block a user