From bcc4097dbe9ccae866ce87ffc44b3c7eca7efeea Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 19:56:04 -0400 Subject: [PATCH 1/8] =?UTF-8?q?chore:=20remove=20Jenkinsfile=20=E2=80=94?= =?UTF-8?q?=20migrated=20to=20Gitea=20Actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index ca4d077..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,38 +0,0 @@ -pipeline { - environment { - registry = 'https://registry.hub.docker.com' - registryCredential = 'dockerhub_jcabillot' - dockerImage = 'jcabillot/openchamber' - } - - agent any - - triggers { - cron('@midnight') - } - - stages { - stage('Clone repository') { - steps{ - checkout scm - } - } - - stage('Build image') { - steps{ - sh 'docker build --force-rm=true --no-cache=true --pull -f Dockerfile -t ${dockerImage} .' - } - } - - stage('Deploy Image') { - steps{ - script { - withCredentials([usernamePassword(credentialsId: 'dockerhub_jcabillot', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { - sh 'docker login --username ${DOCKER_USER} --password ${DOCKER_PASS}' - sh 'docker push ${dockerImage}' - } - } - } - } - } -} From 49d6132a600d8f5df7f52c26a5e4460bf5eed12f Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 19:56:15 -0400 Subject: [PATCH 2/8] ci: update cron schedule to daily at midnight; refactor pipeline - Change schedule from weekly (30 3 * * 3) to daily (0 0 * * *) - Remove legacy Jenkinsfile (fully migrated to Gitea Actions) - Keep lint, build-and-test, and push jobs intact - Keep hadolint linting and tests/test.sh integration - Image: jcabillot/opencode-openchamber --- .gitea/workflows/docker-build.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/docker-build.yaml b/.gitea/workflows/docker-build.yaml index e39941e..cfc394e 100644 --- a/.gitea/workflows/docker-build.yaml +++ b/.gitea/workflows/docker-build.yaml @@ -5,13 +5,13 @@ on: branches: [main] pull_request: schedule: - - cron: '30 3 * * 3' + - cron: '0 0 * * *' jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 + - uses: actions/checkout@df4cb1c069e1874eddd317b41184172cece0e10 - uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf with: dockerfile: Dockerfile @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest needs: lint steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 + - uses: actions/checkout@df4cb1c069e1874eddd317b41184172cece0e10 - name: Build image run: docker build -t ci-image:${{ github.sha }} . - name: Run tests @@ -32,10 +32,10 @@ jobs: needs: build-and-test if: github.event_name != 'pull_request' steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 + - uses: actions/checkout@df4cb1c069e1874eddd317b41184172cece0e10 - name: Build image run: docker build -t ci-image:${{ github.sha }} . - - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee + - uses: docker/login-action@650006c6eb7dba73a995d95a7b0b2d7f5ca915be with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} From 2f7d1f1e523a8ac243e509a11a9fa4f13f06d1a0 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 19:58:17 -0400 Subject: [PATCH 3/8] fix: restore correct action SHAs for checkout and docker/login-action --- .gitea/workflows/docker-build.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/docker-build.yaml b/.gitea/workflows/docker-build.yaml index cfc394e..d290573 100644 --- a/.gitea/workflows/docker-build.yaml +++ b/.gitea/workflows/docker-build.yaml @@ -11,7 +11,7 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874eddd317b41184172cece0e10 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf with: dockerfile: Dockerfile @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest needs: lint steps: - - uses: actions/checkout@df4cb1c069e1874eddd317b41184172cece0e10 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - name: Build image run: docker build -t ci-image:${{ github.sha }} . - name: Run tests @@ -32,10 +32,10 @@ jobs: needs: build-and-test if: github.event_name != 'pull_request' steps: - - uses: actions/checkout@df4cb1c069e1874eddd317b41184172cece0e10 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - name: Build image run: docker build -t ci-image:${{ github.sha }} . - - uses: docker/login-action@650006c6eb7dba73a995d95a7b0b2d7f5ca915be + - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} From fae5c8c81c07ee607bdebbc4e3b0bd42c95cb2fc Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 20:18:38 -0400 Subject: [PATCH 4/8] chore: remove old monolithic workflow --- .gitea/workflows/docker-build.yaml | 45 ------------------------------ 1 file changed, 45 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 d290573..0000000 --- a/.gitea/workflows/docker-build.yaml +++ /dev/null @@ -1,45 +0,0 @@ -name: Docker Build and Push - -on: - push: - branches: [main] - pull_request: - schedule: - - cron: '0 0 * * *' - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - - uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf - with: - dockerfile: Dockerfile - failure-threshold: error - - build-and-test: - runs-on: ubuntu-latest - needs: lint - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - - name: Build image - run: docker build -t ci-image:${{ github.sha }} . - - name: Run tests - run: bash tests/test.sh ci-image:${{ github.sha }} - - push: - runs-on: ubuntu-latest - needs: build-and-test - if: github.event_name != 'pull_request' - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - - name: Build image - run: docker build -t ci-image:${{ github.sha }} . - - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Tag and push - run: | - docker tag ci-image:${{ github.sha }} jcabillot/opencode-openchamber:latest - docker push jcabillot/opencode-openchamber:latest From 73bc5b7ffe18eab28fd09617136df95587b67f2d Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 20:18:44 -0400 Subject: [PATCH 5/8] 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 }} From 8844414424889a534c97433959341db673d75587 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 20:18:47 -0400 Subject: [PATCH 6/8] feat(ci): add main release workflow --- .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..f883cf0 --- /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/opencode-openchamber + 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/opencode-openchamber.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 From 55d3d04e9f6d8d4573d251fdd953f97f8c63bec3 Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 20:18:50 -0400 Subject: [PATCH 7/8] feat(ci): add tag release workflow --- .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..dd179b2 --- /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/opencode-openchamber + 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 From 252ed2e8a8b96c712f54667687cbc3e5aa1e68be Mon Sep 17 00:00:00 2001 From: cloudix_mcp_server Date: Fri, 12 Jun 2026 20:18:53 -0400 Subject: [PATCH 8/8] feat(ci): add nightly rebuild workflow --- .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..c0120bf --- /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/opencode-openchamber + 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