Release: develop -> main#178
Open
github-actions[bot] wants to merge 2 commits intomainfrom
Open
Conversation
…m (ARM64) (#177) * ci: add lds-api docker pipeline + switch lnbitsapi to lightningdotspacecom (ARM64) Adds: - Dockerfile + .dockerignore at repo root for the lds-api NestJS service - lds-api-{dev,prd}.yaml workflows that build linux/arm64 and push lightningdotspacecom/lds-api:{beta,latest} on push to {develop,main} Updates: - lnbitsapi-{dev,prd}.yaml: image renamed from dfxswiss/lnbitsapi:{latest,main} to lightningdotspacecom/lnbitsapi:{beta,latest}; build pinned to linux/arm64 via QEMU + buildx; Node bumped from 16.x (EOL) to 18.x to match Dockerfile The pre-existing api-{dev,prd}.yaml Azure App Service workflows are kept intact for the migration window — they will be removed once the dfxprd LDS stack is live. Docker Hub credentials secret (DOCKER_USERNAME / DOCKER_PASSWORD) must be set to a token with write access to the lightningdotspacecom org before the first build runs. * ci(lds): align workflows with DFX convention (ARM-native, deploy step) Aligns the lds-api and lnbitsapi build pipelines with the DFX house style (cf. juicedollarcom/api, deurocom/api): - runs-on: ubuntu-24.04-arm (native ARM, no QEMU) - platforms: linux/arm64 (single arch, matches DFX servers) - Deploy step after build: install cloudflared, SSH via Cloudflare Tunnel to dfxdev/dfxprd, invoke deploy.sh with the canonical service name (lds-api / lds-lnbitsapi). Matches the case-block added in DFXServer/server commit ba6fdf6. PR test workflows (api-pr.yaml, lnbitsapi-pr.yaml) bumped from Node 16.x (EOL) to Node 18.x to match the production Dockerfile. Required secrets per repo (set on top of DOCKER_USERNAME/PASSWORD): - DEPLOY_DEV_SSH_KEY, DEPLOY_DEV_SSH_KNOWN_HOSTS, DEPLOY_DEV_HOST, DEPLOY_DEV_USER - DEPLOY_PRD_SSH_KEY, DEPLOY_PRD_SSH_KNOWN_HOSTS, DEPLOY_PRD_HOST, DEPLOY_PRD_USER The DEV deploy will only succeed once dfxdev:~/lds/docker-compose.yaml is in place (skeleton currently committed without compose). Until then the build step pushes to Docker Hub and the deploy step fails — fine, image is published either way.
* fix(docker): install python3 + build toolchain for node-gyp The CI build of lds-api fails on 'npm ci' with: npm ERR! gyp ERR! stack Error: Could not find any Python installation to use Several deps (solana, eth-signing-related crates) have native modules that node-gyp builds at install time. node:18-alpine ships without Python or a C/C++ toolchain, so install python3 + make + g++ before the npm step. * fix(docker,lnbitsapi): same python3 + toolchain fix as lds-api The lnbitsapi image uses the same node:18-alpine base as the new lds-api image, and depends on sqlite3 which has a native binding compiled by node-gyp. Add the same python3 + make + g++ install step proactively so the next push under infrastructure/lnbitsapi/** doesn't hit the same build failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automatic Release PR
This PR was automatically created after changes were pushed to develop.
Commits: 1 new commit(s)
Checklist