From 1f67dfc7cf850ec5888a496c34173072c7008725 Mon Sep 17 00:00:00 2001 From: Reuben Swartz Date: Thu, 29 Jan 2026 12:12:58 -0500 Subject: [PATCH 1/3] Added deploy to docker hub --- .github/workflows/docker-build.yml | 76 ++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/docker-build.yml diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 0000000..6fb5340 --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,76 @@ +name: Build USFM Scanner .NET Docker Image + +on: + push: + branches: + - master + - develop + pull_request: + workflow_dispatch: + +jobs: + #build and publish image + Build-Image: + name: Build image + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 + + - name: Build image with buildx + uses: docker/build-push-action@v3 + with: + dockerfile: UsfmScannerNet/Dockerfile + cache-from: type=gha + cache-to: type=gha,mode=max + + Push-Image: + name: Push images if this is a branch + runs-on: ubuntu-latest + needs: [Build-Image] + if: ${{ contains(fromJson('["push"]'), github.event_name) }} + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - uses: FranzDiebold/github-env-vars-action@v2.7.0 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 + - name: Load secret + uses: 1password/load-secrets-action@v1 + with: + # Export loaded secrets as environment variables + export-env: true + env: + OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} + DOCKER_HUB_USER: "op://DevOps/dockerhub-adminwa-token/username" + DOCKER_HUB_TOKEN: "op://DevOps/dockerhub-adminwa-token/credential" + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ env.DOCKER_HUB_USER }} + password: ${{ env.DOCKER_HUB_TOKEN }} + - name: Set docker tags + run: | + echo "TAG_SHA=wycliffeassociates/usfm-scanner-net:$GITHUB_SHA" >> $GITHUB_ENV && \ + echo "TAG_BRANCH=wycliffeassociates/usfm-scanner-net:$CI_REF_NAME_SLUG" >> $GITHUB_ENV + if [ "$CI_REF_NAME_SLUG" == "master" ]; then + echo "TAG_LATEST=wycliffeassociates/usfm-scanner-net:latest" >> $GITHUB_ENV + else + echo "TAG_LATEST=" >> $GITHUB_ENV + fi + + - name: Build and conditional push API image + uses: docker/build-push-action@v3 + with: + dockerfile: UsfmScannerNet/Dockerfile + push: true + tags: | + ${{ env.TAG_SHA }} + ${{ env.TAG_BRANCH }} + ${{ env.TAG_LATEST }} + cache-from: type=gha + cache-to: type=gha,mode=max From bf57b8870c601e5298b7e3d76e20985939b5a696 Mon Sep 17 00:00:00 2001 From: Reuben Swartz Date: Thu, 29 Jan 2026 12:16:53 -0500 Subject: [PATCH 2/3] Fixed a bug --- .github/workflows/docker-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 6fb5340..f212857 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -23,7 +23,7 @@ jobs: - name: Build image with buildx uses: docker/build-push-action@v3 with: - dockerfile: UsfmScannerNet/Dockerfile + file: UsfmScannerNet/Dockerfile cache-from: type=gha cache-to: type=gha,mode=max @@ -66,7 +66,7 @@ jobs: - name: Build and conditional push API image uses: docker/build-push-action@v3 with: - dockerfile: UsfmScannerNet/Dockerfile + file: UsfmScannerNet/Dockerfile push: true tags: | ${{ env.TAG_SHA }} From ec551ce844953f9ae05d047d7ab23cd33d343a4e Mon Sep 17 00:00:00 2001 From: Reuben Swartz Date: Tue, 3 Feb 2026 08:30:11 -0500 Subject: [PATCH 3/3] Use https for submodule --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index e5b0be9..3615df2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,4 +3,4 @@ url = git@github.com:Bible-Translation-Tools/usfm-tools.git [submodule "UsfmScannerNet/usfmtools"] path = UsfmScannerNet/usfmtools - url = git@github.com:Bible-Translation-Tools/usfm-tools.git + url = https://github.com/Bible-Translation-Tools/usfm-tools.git