Skip to content

Docker image build #1468

Docker image build

Docker image build #1468

Workflow file for this run

name: Docker image build
on:
push:
tags:
- 'v*'
schedule:
# Every day at midnight (UTC).
- cron: '0 0 * * *'
defaults:
run:
shell: bash
env:
DOCKER_REPO: lightninglabs
DOCKER_IMAGE: lnd
jobs:
########################
# Check release signing keys
########################
pgp-key-check:
name: Check PGP key expirations
runs-on: ubuntu-latest
# We don't want to fail the build because of PGP key expirations because
# they are only used for release builds and this job failing should catch
# the attention of the maintainers.
continue-on-error: true
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Check PGP key expirations
run: scripts/check-pgp-expiry.sh
########################
# Build and push the daily docker image
########################
main:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: lightninglabs/gh-actions/setup-qemu-action@2021.01.25.00
- name: Set up Docker Buildx
uses: lightninglabs/gh-actions/setup-buildx-action@2021.01.25.00
- name: Login to DockerHub
uses: lightninglabs/gh-actions/login-action@2021.01.25.00
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_API_KEY }}
- name: Set env
run: |
echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
echo "IMAGE_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Set daily tag
if: github.event.schedule == '0 0 * * *'
run: |
echo "RELEASE_VERSION=master" >> $GITHUB_ENV
echo "IMAGE_TAG=daily-testing-$(date -u +%Y%m%d),${DOCKER_REPO}/${DOCKER_IMAGE}:daily-testing-only" >> $GITHUB_ENV
- name: Build and push
id: docker_build
uses: lightninglabs/gh-actions/build-push-action@2021.01.25.00
with:
push: true
platforms: linux/amd64,linux/arm64
tags: "${{ env.DOCKER_REPO }}/${{ env.DOCKER_IMAGE }}:${{ env.IMAGE_TAG }}"
build-args: checkout=${{ env.RELEASE_VERSION }}
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}