From 56185bffdb7da63c8f28a19deaae32dc45ad08ff Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:32:06 -0400 Subject: [PATCH 01/17] feat(ci): add hadolint workflow with step-level continue-on-error --- .gitea/workflows/hadolint.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .gitea/workflows/hadolint.yaml diff --git a/.gitea/workflows/hadolint.yaml b/.gitea/workflows/hadolint.yaml new file mode 100644 index 0000000..aaf42eb --- /dev/null +++ b/.gitea/workflows/hadolint.yaml @@ -0,0 +1,17 @@ +name: Hadolint + +on: + pull_request: + push: + branches: [main] + +jobs: + hadolint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: hadolint/hadolint-action@2332a7b74a6de0dda2221d575162ebab76ba5e5 # v3.3.0 + continue-on-error: true + with: + dockerfile: Dockerfile + failure-threshold: error -- 2.52.0 From 537d0c1dc972a380e5b76c15501f029afcae6d80 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:32:15 -0400 Subject: [PATCH 02/17] feat(ci): add PR checks workflow --- .gitea/workflows/pr-checks.yaml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .gitea/workflows/pr-checks.yaml diff --git a/.gitea/workflows/pr-checks.yaml b/.gitea/workflows/pr-checks.yaml new file mode 100644 index 0000000..a3d6c97 --- /dev/null +++ b/.gitea/workflows/pr-checks.yaml @@ -0,0 +1,31 @@ +name: PR Checks + +on: + pull_request: + +jobs: + pr-checks: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - name: Build image + run: docker build -t ci-image:${{ github.sha }} . + - name: Save image + run: docker save ci-image:${{ github.sha }} -o image.tar + - uses: ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # main + with: + name: docker-image + path: image.tar + + test: + runs-on: ubuntu-latest + needs: pr-checks + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main + with: + name: docker-image + - name: Load image + run: docker load < image.tar + - name: Run tests + run: bash tests/test.sh ci-image:${{ github.sha }} -- 2.52.0 From 78bb18ad12953d724a001b0d8ef81e03f01e4b45 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:32:24 -0400 Subject: [PATCH 03/17] feat(ci): add tag release workflow --- .gitea/workflows/tag-release.yaml | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .gitea/workflows/tag-release.yaml diff --git a/.gitea/workflows/tag-release.yaml b/.gitea/workflows/tag-release.yaml new file mode 100644 index 0000000..9630172 --- /dev/null +++ b/.gitea/workflows/tag-release.yaml @@ -0,0 +1,63 @@ +name: Tag Release + +on: + push: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + with: + fetch-depth: 0 + - name: Build image + run: docker build -t ci-image:${{ github.sha }} . + - name: Save image + run: docker save ci-image:${{ github.sha }} -o image.tar + - uses: ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # main + with: + name: docker-image + path: image.tar + + test: + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main + with: + name: docker-image + - name: Load image + run: docker load < image.tar + - name: Run tests + run: bash tests/test.sh ci-image:${{ github.sha }} + + push: + runs-on: ubuntu-latest + needs: test + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + with: + fetch-depth: 0 + - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main + with: + name: docker-image + - name: Load image + run: docker load < image.tar + - uses: docker/login-action@650006c6eb7dbda73a995c0b6e7bda735b5bee # v4 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Tag and push latest + run: | + docker tag ci-image:${{ github.sha }} jcabillot/docker-duplicacy:latest + docker push jcabillot/docker-duplicacy:latest + - name: Bump version and push tag + uses: anothrNick/github-tag-action@4ed44965e0db8dab2b46646ad1da1c332fd # v1.75.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEFAULT_BUMP: patch + RELEASE_BRANCHES: main + WITH_V: true + GIT_API_TAGGING: false -- 2.52.0 From 2cf77f0af39ac4b24cfee4b54852d695fe8ac664 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:32:36 -0400 Subject: [PATCH 04/17] feat(ci): add nightly rebuild workflow --- .gitea/workflows/nightly-rebuild.yaml | 63 +++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .gitea/workflows/nightly-rebuild.yaml diff --git a/.gitea/workflows/nightly-rebuild.yaml b/.gitea/workflows/nightly-rebuild.yaml new file mode 100644 index 0000000..1883ba4 --- /dev/null +++ b/.gitea/workflows/nightly-rebuild.yaml @@ -0,0 +1,63 @@ +name: Nightly Rebuild + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + with: + fetch-depth: 0 + - name: Build image + run: docker build -t ci-image:${{ github.sha }} . + - name: Save image + run: docker save ci-image:${{ github.sha }} -o image.tar + - uses: ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # main + with: + name: docker-image + path: image.tar + + test: + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main + with: + name: docker-image + - name: Load image + run: docker load < image.tar + - name: Run tests + run: bash tests/test.sh ci-image:${{ github.sha }} + + push: + runs-on: ubuntu-latest + needs: test + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + with: + fetch-depth: 0 + - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main + with: + name: docker-image + - name: Load image + run: docker load < image.tar + - uses: docker/login-action@650006c6eb7dbda73a995c0b6e7bda735b5bee # v4 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Tag and push latest + run: | + docker tag ci-image:${{ github.sha }} jcabillot/docker-duplicacy:latest + docker push jcabillot/docker-duplicacy:latest + - name: Bump version and push tag + uses: anothrNick/github-tag-action@4ed44965e0db8dab2b46646ad1da1c332fd # v1.75.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEFAULT_BUMP: patch + RELEASE_BRANCHES: main + WITH_V: true + GIT_API_TAGGING: false -- 2.52.0 From dfde0adc5b110346dbb1207948eb42f84d05d700 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:32:43 -0400 Subject: [PATCH 05/17] chore(ci): remove old docker-build.yaml, replaced by new modular workflows --- .gitea/workflows/docker-build.yaml | 76 ------------------------------ 1 file changed, 76 deletions(-) delete mode 100644 .gitea/workflows/docker-build.yaml diff --git a/.gitea/workflows/docker-build.yaml b/.gitea/workflows/docker-build.yaml deleted file mode 100644 index cf36dc2..0000000 --- a/.gitea/workflows/docker-build.yaml +++ /dev/null @@ -1,76 +0,0 @@ -name: Docker Build and Push - -on: - push: - branches: [main] - pull_request: - schedule: - - cron: '30 3 * * 3' - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 - with: - dockerfile: Dockerfile - failure-threshold: error - - build: - runs-on: ubuntu-latest - needs: lint - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - name: Build image - run: docker build -t ci-image:${{ github.sha }} . - - name: Save image - run: docker save ci-image:${{ github.sha }} -o image.tar - - uses: ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # main - with: - name: docker-image - path: image.tar - - test: - runs-on: ubuntu-latest - needs: build - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main - with: - name: docker-image - - name: Load image - run: docker load < image.tar - - name: Run tests - run: bash tests/test.sh ci-image:${{ github.sha }} - - push: - runs-on: ubuntu-latest - needs: test - if: github.event_name != 'pull_request' - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - fetch-depth: 0 - - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main - with: - name: docker-image - - name: Load image - run: docker load < image.tar - - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Tag and push - run: | - docker tag ci-image:${{ github.sha }} jcabillot/duplicacy:latest - docker push jcabillot/duplicacy:latest - - name: Bump version and push tag - if: github.event_name == 'push' - uses: anothrNick/github-tag-action@4ed44965e0db8dab2b466a16da04aec3cc312fd8 # v1.75.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEFAULT_BUMP: patch - RELEASE_BRANCHES: main - WITH_V: true - GIT_API_TAGGING: false \ No newline at end of file -- 2.52.0 From df4ab1ccd3d12e8a5aa6e3eea4f8cb4feb108a94 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:35:57 -0400 Subject: [PATCH 06/17] fix(ci): update actions/checkout SHA in hadolint workflow --- .gitea/workflows/hadolint.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/hadolint.yaml b/.gitea/workflows/hadolint.yaml index aaf42eb..981241e 100644 --- a/.gitea/workflows/hadolint.yaml +++ b/.gitea/workflows/hadolint.yaml @@ -9,8 +9,8 @@ jobs: hadolint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 - - uses: hadolint/hadolint-action@2332a7b74a6de0dda2221d575162ebab76ba5e5 # v3.3.0 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 continue-on-error: true with: dockerfile: Dockerfile -- 2.52.0 From b741af039c09be9f8913c045e00d6441e9c9c158 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:36:07 -0400 Subject: [PATCH 07/17] fix(ci): update actions/checkout SHA in PR checks workflow --- .gitea/workflows/pr-checks.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/pr-checks.yaml b/.gitea/workflows/pr-checks.yaml index a3d6c97..a452109 100644 --- a/.gitea/workflows/pr-checks.yaml +++ b/.gitea/workflows/pr-checks.yaml @@ -7,7 +7,7 @@ jobs: pr-checks: runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Build image run: docker build -t ci-image:${{ github.sha }} . - name: Save image @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest needs: pr-checks steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main with: name: docker-image -- 2.52.0 From e048c72eae4790a3343c05f2387ff779c3f97a83 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:36:18 -0400 Subject: [PATCH 08/17] fix(ci): update action SHAs in tag-release workflow --- .gitea/workflows/tag-release.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/tag-release.yaml b/.gitea/workflows/tag-release.yaml index 9630172..0b57bbe 100644 --- a/.gitea/workflows/tag-release.yaml +++ b/.gitea/workflows/tag-release.yaml @@ -8,7 +8,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 with: fetch-depth: 0 - name: Build image @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest needs: build steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main with: name: docker-image @@ -37,7 +37,7 @@ jobs: runs-on: ubuntu-latest needs: test steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 with: fetch-depth: 0 - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main @@ -45,7 +45,7 @@ jobs: name: docker-image - name: Load image run: docker load < image.tar - - uses: docker/login-action@650006c6eb7dbda73a995c0b6e7bda735b5bee # v4 + - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} -- 2.52.0 From 60976b30ec158a62f2f62eb9c67ff118e43e47d8 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:36:24 -0400 Subject: [PATCH 09/17] fix(ci): update action SHAs in nightly-rebuild workflow --- .gitea/workflows/nightly-rebuild.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/nightly-rebuild.yaml b/.gitea/workflows/nightly-rebuild.yaml index 1883ba4..23c81ec 100644 --- a/.gitea/workflows/nightly-rebuild.yaml +++ b/.gitea/workflows/nightly-rebuild.yaml @@ -8,7 +8,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 with: fetch-depth: 0 - name: Build image @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest needs: build steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main with: name: docker-image @@ -37,7 +37,7 @@ jobs: runs-on: ubuntu-latest needs: test steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4143172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 with: fetch-depth: 0 - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main @@ -45,7 +45,7 @@ jobs: name: docker-image - name: Load image run: docker load < image.tar - - uses: docker/login-action@650006c6eb7dbda73a995c0b6e7bda735b5bee # v4 + - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} -- 2.52.0 From 7c0cb1c018b3bd5d3972dc050b0f0cf52da06bd7 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:42:15 -0400 Subject: [PATCH 10/17] chore: remove wrong-named workflows (will recreate with standard names) --- .gitea/workflows/hadolint.yaml | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .gitea/workflows/hadolint.yaml diff --git a/.gitea/workflows/hadolint.yaml b/.gitea/workflows/hadolint.yaml deleted file mode 100644 index 981241e..0000000 --- a/.gitea/workflows/hadolint.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Hadolint - -on: - pull_request: - push: - branches: [main] - -jobs: - hadolint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 - continue-on-error: true - with: - dockerfile: Dockerfile - failure-threshold: error -- 2.52.0 From badcef7a25b6000ba2fa884fe6ab242e684c3126 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:42:21 -0400 Subject: [PATCH 11/17] chore: remove wrong-named workflows --- .gitea/workflows/pr-checks.yaml | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 .gitea/workflows/pr-checks.yaml diff --git a/.gitea/workflows/pr-checks.yaml b/.gitea/workflows/pr-checks.yaml deleted file mode 100644 index a452109..0000000 --- a/.gitea/workflows/pr-checks.yaml +++ /dev/null @@ -1,31 +0,0 @@ -name: PR Checks - -on: - pull_request: - -jobs: - pr-checks: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - name: Build image - run: docker build -t ci-image:${{ github.sha }} . - - name: Save image - run: docker save ci-image:${{ github.sha }} -o image.tar - - uses: ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # main - with: - name: docker-image - path: image.tar - - test: - runs-on: ubuntu-latest - needs: pr-checks - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main - with: - name: docker-image - - name: Load image - run: docker load < image.tar - - name: Run tests - run: bash tests/test.sh ci-image:${{ github.sha }} -- 2.52.0 From 95878a525f95459299f706c8f01179d909417bc6 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:42:29 -0400 Subject: [PATCH 12/17] chore: remove wrong-named workflows --- .gitea/workflows/tag-release.yaml | 63 ------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 .gitea/workflows/tag-release.yaml diff --git a/.gitea/workflows/tag-release.yaml b/.gitea/workflows/tag-release.yaml deleted file mode 100644 index 0b57bbe..0000000 --- a/.gitea/workflows/tag-release.yaml +++ /dev/null @@ -1,63 +0,0 @@ -name: Tag Release - -on: - push: - branches: [main] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - fetch-depth: 0 - - name: Build image - run: docker build -t ci-image:${{ github.sha }} . - - name: Save image - run: docker save ci-image:${{ github.sha }} -o image.tar - - uses: ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # main - with: - name: docker-image - path: image.tar - - test: - runs-on: ubuntu-latest - needs: build - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main - with: - name: docker-image - - name: Load image - run: docker load < image.tar - - name: Run tests - run: bash tests/test.sh ci-image:${{ github.sha }} - - push: - runs-on: ubuntu-latest - needs: test - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - fetch-depth: 0 - - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main - with: - name: docker-image - - name: Load image - run: docker load < image.tar - - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Tag and push latest - run: | - docker tag ci-image:${{ github.sha }} jcabillot/docker-duplicacy:latest - docker push jcabillot/docker-duplicacy:latest - - name: Bump version and push tag - uses: anothrNick/github-tag-action@4ed44965e0db8dab2b46646ad1da1c332fd # v1.75.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEFAULT_BUMP: patch - RELEASE_BRANCHES: main - WITH_V: true - GIT_API_TAGGING: false -- 2.52.0 From a33dbfbe7d218bdc7d993d9212d7853a71cfbccc Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:42:33 -0400 Subject: [PATCH 13/17] chore: remove wrong-named workflows --- .gitea/workflows/nightly-rebuild.yaml | 63 --------------------------- 1 file changed, 63 deletions(-) delete mode 100644 .gitea/workflows/nightly-rebuild.yaml diff --git a/.gitea/workflows/nightly-rebuild.yaml b/.gitea/workflows/nightly-rebuild.yaml deleted file mode 100644 index 23c81ec..0000000 --- a/.gitea/workflows/nightly-rebuild.yaml +++ /dev/null @@ -1,63 +0,0 @@ -name: Nightly Rebuild - -on: - schedule: - - cron: '0 0 * * *' - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - fetch-depth: 0 - - name: Build image - run: docker build -t ci-image:${{ github.sha }} . - - name: Save image - run: docker save ci-image:${{ github.sha }} -o image.tar - - uses: ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # main - with: - name: docker-image - path: image.tar - - test: - runs-on: ubuntu-latest - needs: build - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main - with: - name: docker-image - - name: Load image - run: docker load < image.tar - - name: Run tests - run: bash tests/test.sh ci-image:${{ github.sha }} - - push: - runs-on: ubuntu-latest - needs: test - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - fetch-depth: 0 - - uses: ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 # main - with: - name: docker-image - - name: Load image - run: docker load < image.tar - - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Tag and push latest - run: | - docker tag ci-image:${{ github.sha }} jcabillot/docker-duplicacy:latest - docker push jcabillot/docker-duplicacy:latest - - name: Bump version and push tag - uses: anothrNick/github-tag-action@4ed44965e0db8dab2b46646ad1da1c332fd # v1.75.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEFAULT_BUMP: patch - RELEASE_BRANCHES: main - WITH_V: true - GIT_API_TAGGING: false -- 2.52.0 From 6151f18d6bb9260e1da075f1b2c9ebe0ccd02d4d Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:42:56 -0400 Subject: [PATCH 14/17] feat(ci): add PR workflow with Hadolint + build + test --- .gitea/workflows/pr.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .gitea/workflows/pr.yaml diff --git a/.gitea/workflows/pr.yaml b/.gitea/workflows/pr.yaml new file mode 100644 index 0000000..ed2c5fa --- /dev/null +++ b/.gitea/workflows/pr.yaml @@ -0,0 +1,23 @@ +name: PR Checks + +on: + pull_request: + branches: [main] + +jobs: + hadolint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 + continue-on-error: true + with: + dockerfile: Dockerfile + + build-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4 + - run: docker build -t ci-image:${{ github.sha }} . + - run: bash tests/test.sh ci-image:${{ github.sha }} -- 2.52.0 From d5f06b1c17f7cdb3b6c7354159885a86e6bfa28e Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:43:05 -0400 Subject: [PATCH 15/17] feat(ci): add main release workflow with Hadolint + build-push + test + tag --- .gitea/workflows/main.yaml | 63 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .gitea/workflows/main.yaml diff --git a/.gitea/workflows/main.yaml b/.gitea/workflows/main.yaml new file mode 100644 index 0000000..00a85b4 --- /dev/null +++ b/.gitea/workflows/main.yaml @@ -0,0 +1,63 @@ +name: Main Release + +on: + push: + branches: [main] + +jobs: + hadolint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 + continue-on-error: true + with: + dockerfile: Dockerfile + + build-push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4 + - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - id: meta + uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6 + with: + images: jcabillot/docker-duplicacy + tags: | + type=raw,value=latest + - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + pull: true + + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4 + - run: docker build -t ci-image:${{ github.sha }} . + - run: bash tests/test.sh ci-image:${{ github.sha }} + + tag: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + fetch-depth: 0 + - name: Configure git auth + run: | + git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@scm.cabillot.eu/perso/docker-duplicacy.git" + - uses: anothrNick/github-tag-action@4ed44965e0db8dab2b466a16da04aec3cc312fd8 # v1.75.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEFAULT_BUMP: patch + RELEASE_BRANCHES: main + WITH_V: true + GIT_API_TAGGING: false -- 2.52.0 From 1581feba048761c1f956d4f98a3aeffed4715f87 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:43:10 -0400 Subject: [PATCH 16/17] feat(ci): add tag release workflow with Hadolint + push :tag --- .gitea/workflows/tag.yaml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .gitea/workflows/tag.yaml diff --git a/.gitea/workflows/tag.yaml b/.gitea/workflows/tag.yaml new file mode 100644 index 0000000..226411f --- /dev/null +++ b/.gitea/workflows/tag.yaml @@ -0,0 +1,38 @@ +name: Tag Release + +on: + push: + tags: ['*'] + +jobs: + hadolint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 + continue-on-error: true + with: + dockerfile: Dockerfile + + build-push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4 + - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - id: meta + uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6 + with: + images: jcabillot/docker-duplicacy + tags: | + type=ref,event=tag + - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + pull: true -- 2.52.0 From 198b67b32053f4442c02013a5fb583e5a1d6ec30 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 15:43:14 -0400 Subject: [PATCH 17/17] feat(ci): add nightly rebuild of latest + most recent tag --- .gitea/workflows/cron.yaml | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .gitea/workflows/cron.yaml diff --git a/.gitea/workflows/cron.yaml b/.gitea/workflows/cron.yaml new file mode 100644 index 0000000..d71a91c --- /dev/null +++ b/.gitea/workflows/cron.yaml @@ -0,0 +1,45 @@ +name: Nightly Rebuild + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + hadolint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 + continue-on-error: true + with: + dockerfile: Dockerfile + + build-push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + fetch-depth: 0 + - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4 + - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - id: get-latest-tag + run: | + TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") + echo "tag=$TAG" >> $GITHUB_OUTPUT + - id: meta + uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6 + with: + images: jcabillot/docker-duplicacy + tags: | + type=raw,value=latest + type=raw,value=${{ steps.get-latest-tag.outputs.tag }},enable=${{ steps.get-latest-tag.outputs.tag != '' }} + - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + pull: true -- 2.52.0