Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
node_modules
dist
.git
.github
infrastructure/lnbitsapi/node_modules
infrastructure/lnbitsapi/dist
*.log
.env
.env.*
test
coverage
README.md
2 changes: 1 addition & 1 deletion .github/workflows/api-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
workflow_dispatch:

env:
NODE_VERSION: '16.x'
NODE_VERSION: '18.x'

jobs:
build:
Expand Down
56 changes: 56 additions & 0 deletions .github/workflows/lds-api-dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: LDS API DEV CI/CD

on:
push:
branches: [develop]
paths-ignore:
- 'infrastructure/lnbitsapi/**'
workflow_dispatch:

env:
DOCKER_TAGS: lightningdotspacecom/lds-api:beta

permissions:
contents: read

jobs:
build-and-deploy:
name: Build and deploy to DEV
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ env.DOCKER_TAGS }}
platforms: linux/arm64

- name: Install cloudflared
run: |
curl -fsSL https://github.com/cloudflare/cloudflared/releases/download/2025.4.0/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared

- name: Deploy
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_DEV_SSH_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
echo "${{ secrets.DEPLOY_DEV_SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
ssh -i ~/.ssh/deploy_key \
-o ProxyCommand="cloudflared access ssh --hostname ${{ secrets.DEPLOY_DEV_HOST }}" \
${{ secrets.DEPLOY_DEV_USER }}@${{ secrets.DEPLOY_DEV_HOST }} \
"lds-api"
56 changes: 56 additions & 0 deletions .github/workflows/lds-api-prd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: LDS API PRD CI/CD

on:
push:
branches: [main]
paths-ignore:
- 'infrastructure/lnbitsapi/**'
workflow_dispatch:

env:
DOCKER_TAGS: lightningdotspacecom/lds-api:latest

permissions:
contents: read

jobs:
build-and-deploy:
name: Build and deploy to PRD
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ env.DOCKER_TAGS }}
platforms: linux/arm64

- name: Install cloudflared
run: |
curl -fsSL https://github.com/cloudflare/cloudflared/releases/download/2025.4.0/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared

- name: Deploy
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_PRD_SSH_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
echo "${{ secrets.DEPLOY_PRD_SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
ssh -i ~/.ssh/deploy_key \
-o ProxyCommand="cloudflared access ssh --hostname ${{ secrets.DEPLOY_PRD_HOST }}" \
${{ secrets.DEPLOY_PRD_USER }}@${{ secrets.DEPLOY_PRD_HOST }} \
"lds-api"
115 changes: 55 additions & 60 deletions .github/workflows/lnbitsapi-dev.yaml
Original file line number Diff line number Diff line change
@@ -1,60 +1,55 @@
name: LNBITSAPI DEV CI/CD

on:
push:
branches: [develop]
paths:
- 'infrastructure/lnbitsapi/**'
workflow_dispatch:

env:
DOCKER_TAGS: dfxswiss/lnbitsapi:latest
NODE_VERSION: '16.x'

jobs:
build-and-deploy:
name: Build, test and deploy to DEV
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./infrastructure/lnbitsapi
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install packages
run: |
npm ci

- name: Build code
run: |
npm run build

- name: Run tests
run: |
npm run test

- name: Run linter
run: |
npm run lint

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./infrastructure/lnbitsapi
push: true
tags: ${{ env.DOCKER_TAGS }}
name: LDS LNBITSAPI DEV CI/CD

on:
push:
branches: [develop]
paths:
- 'infrastructure/lnbitsapi/**'
workflow_dispatch:

env:
DOCKER_TAGS: lightningdotspacecom/lnbitsapi:beta

permissions:
contents: read

jobs:
build-and-deploy:
name: Build and deploy to DEV
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./infrastructure/lnbitsapi
push: true
tags: ${{ env.DOCKER_TAGS }}
platforms: linux/arm64

- name: Install cloudflared
run: |
curl -fsSL https://github.com/cloudflare/cloudflared/releases/download/2025.4.0/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared

- name: Deploy
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_DEV_SSH_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
echo "${{ secrets.DEPLOY_DEV_SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
ssh -i ~/.ssh/deploy_key \
-o ProxyCommand="cloudflared access ssh --hostname ${{ secrets.DEPLOY_DEV_HOST }}" \
${{ secrets.DEPLOY_DEV_USER }}@${{ secrets.DEPLOY_DEV_HOST }} \
"lds-lnbitsapi"
2 changes: 1 addition & 1 deletion .github/workflows/lnbitsapi-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
workflow_dispatch:

env:
NODE_VERSION: '16.x'
NODE_VERSION: '18.x'

jobs:
build:
Expand Down
115 changes: 55 additions & 60 deletions .github/workflows/lnbitsapi-prd.yaml
Original file line number Diff line number Diff line change
@@ -1,60 +1,55 @@
name: LNBITSAPI PRD CI/CD

on:
push:
branches: [main]
paths:
- 'infrastructure/lnbitsapi/**'
workflow_dispatch:

env:
DOCKER_TAGS: dfxswiss/lnbitsapi:main
NODE_VERSION: '16.x'

jobs:
build-and-deploy:
name: Build, test and deploy to PRD
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./infrastructure/lnbitsapi
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install packages
run: |
npm ci

- name: Build code
run: |
npm run build

- name: Run tests
run: |
npm run test

- name: Run linter
run: |
npm run lint

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./infrastructure/lnbitsapi
push: true
tags: ${{ env.DOCKER_TAGS }}
name: LDS LNBITSAPI PRD CI/CD

on:
push:
branches: [main]
paths:
- 'infrastructure/lnbitsapi/**'
workflow_dispatch:

env:
DOCKER_TAGS: lightningdotspacecom/lnbitsapi:latest

permissions:
contents: read

jobs:
build-and-deploy:
name: Build and deploy to PRD
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./infrastructure/lnbitsapi
push: true
tags: ${{ env.DOCKER_TAGS }}
platforms: linux/arm64

- name: Install cloudflared
run: |
curl -fsSL https://github.com/cloudflare/cloudflared/releases/download/2025.4.0/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared

- name: Deploy
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_PRD_SSH_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
echo "${{ secrets.DEPLOY_PRD_SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
ssh -i ~/.ssh/deploy_key \
-o ProxyCommand="cloudflared access ssh --hostname ${{ secrets.DEPLOY_PRD_HOST }}" \
${{ secrets.DEPLOY_PRD_USER }}@${{ secrets.DEPLOY_PRD_HOST }} \
"lds-lnbitsapi"
Loading
Loading