Skip to content
Merged
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
84 changes: 83 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
--health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Nix
uses: cachix/install-nix-action@v20
Expand Down Expand Up @@ -122,3 +122,85 @@ jobs:
run: |
export NODE_ENV=test
nix develop . -c yarn workspace sync-daemon run test_integration

docker:
runs-on: ubuntu-latest
needs: [test]
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Extract version from tag
id: version
run: echo "version=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"

- name: Extract dependency versions for migrator
id: deps
run: |
echo "sequelize=$(jq -er '.devDependencies["sequelize"]' package.json)" >> "$GITHUB_OUTPUT"
echo "sequelize_cli=$(jq -er '.devDependencies["sequelize-cli"]' package.json)" >> "$GITHUB_OUTPUT"
echo "mysql2=$(jq -er '.devDependencies["mysql2"]' package.json)" >> "$GITHUB_OUTPUT"

# To add multi-platform builds (e.g., arm64), add docker/setup-qemu-action before setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0

- name: Login to DockerHub
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Copy daemon .dockerignore to root
run: cp packages/daemon/.dockerignore .dockerignore

- name: Build and push daemon dev image
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
with:
context: .
file: packages/daemon/Dockerfile
target: dev
push: true
tags: |
hathornetwork/hathor-wallet-service-sync-daemon:dev
hathornetwork/hathor-wallet-service-sync-daemon:dev-${{ steps.version.outputs.version }}
platforms: linux/amd64
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Copy lambdas .dockerignore to root
run: cp packages/wallet-service/.dockerignore .dockerignore

- name: Build and push lambdas dev image
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
with:
context: .
file: packages/wallet-service/Dockerfile.dev
push: true
tags: |
hathornetwork/hathor-wallet-service-lambdas:dev
hathornetwork/hathor-wallet-service-lambdas:dev-${{ steps.version.outputs.version }}
platforms: linux/amd64
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Copy migrator .dockerignore to root
run: cp db/.dockerignore .dockerignore

- name: Build and push migrator dev image
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
with:
context: .
file: db/Dockerfile.dev
push: true
build-args: |
SEQUELIZE_VERSION=${{ steps.deps.outputs.sequelize }}
SEQUELIZE_CLI_VERSION=${{ steps.deps.outputs.sequelize_cli }}
MYSQL2_VERSION=${{ steps.deps.outputs.mysql2 }}
tags: |
hathornetwork/hathor-wallet-service-migrator:dev
hathornetwork/hathor-wallet-service-migrator:dev-${{ steps.version.outputs.version }}
platforms: linux/amd64
cache-from: type=gha
cache-to: type=gha,mode=max
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ packages/wallet-service/.env*
packages/wallet-service/.warmup
.yarn/
.env.*
*.tsbuildinfo
2 changes: 2 additions & 0 deletions db/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!db/
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{
"name": "hathor-wallet-service",
"version": "1.12.0",
"version": "1.13.0",
"workspaces": [
"packages/common",
"packages/daemon",
"packages/wallet-service"
"packages/wallet-service",
"packages/event-downloader"
],
"engines": {
"node": ">=22"
Expand Down
Loading
Loading