From 4d728c8e6895dbd157fb8692b191bc55236ae8b2 Mon Sep 17 00:00:00 2001 From: Pierre Geeraert Date: Thu, 4 Dec 2025 16:44:46 +0000 Subject: [PATCH] addign this for the syntax but this solution is too slow --- .gitea/workflows/dockerfile_runner.yaml | 81 ++++++++++++++++++++++++- .gitea/workflows/python_runner.yaml | 69 --------------------- 2 files changed, 79 insertions(+), 71 deletions(-) delete mode 100644 .gitea/workflows/python_runner.yaml diff --git a/.gitea/workflows/dockerfile_runner.yaml b/.gitea/workflows/dockerfile_runner.yaml index cee5d2f..e81c483 100644 --- a/.gitea/workflows/dockerfile_runner.yaml +++ b/.gitea/workflows/dockerfile_runner.yaml @@ -2,12 +2,89 @@ name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: - paths-ignore: - - 'requirements.txt' + #paths-ignore: + # - 'requirements.txt' issue_comment: types: [created] jobs: + # Job to check for file changes and set an output + changes: + runs-on: ubuntu-latest + outputs: + requirements_changed: ${{ steps.filter.outputs.requirements }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + requirements: + - 'requirements.txt' + + Build-dockerfile: + runs-on: ubuntu-latest + needs: changes + if: ${{ needs.changes.outputs.requirements_changed == 'true' }} + steps: + - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." + - name: List files in the repository + run: | + ls ${{ gitea.workspace }} + + - name: Compute next version + id: versioning + run: | + latest="${{ vars.PYTHON_VERSION }}" + next_version=$(echo "$latest" | awk -F. -v OFS=. '{$NF += 1 ; print}') + echo "next_version=$next_version" >> $GITHUB_ENV + echo "Variables used :" + echo "------------------------------------------------" + echo "Next version: $next_version" + + - uses: actions/cache@v3 + with: + path: /root/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + + - name: inject cache into docker + uses: reproducible-containers/buildkit-cache-dance@v3.1.0 + with: + cache-source: /root/.cache/pip + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to gitea + uses: docker/login-action@v3 + with: + registry: gitea.tryton.geeraert.eu + username: ${{ secrets.USERNAME_GITEA }} + password: ${{ secrets.PASSWORD_GITEA }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: "{{defaultContext}}:.gitea/python_build" + push: true + tags: | + gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:latest + gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:${{ env.next_version }} + cache-from: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:buildcache + cache-to: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:buildcache,mode=max + + - name: update version in the variable + run: | + curl -X PUT -H "Content-Type: application/json" \ + --user ${{ secrets.USERNAME_GITEA }}:${{ secrets.PASSWORD_GITEA }} \ + https://gitea.tryton.geeraert.eu/api/v1/repos/pi-ux-ce/${{ github.event.repository.name }}/actions/variables/PYTHON_VERSION \ + -d "{\"Value\":\"$next_version\"}" Explore-Gitea-Actions: runs-on: ubuntu-latest steps: diff --git a/.gitea/workflows/python_runner.yaml b/.gitea/workflows/python_runner.yaml deleted file mode 100644 index 96fdb19..0000000 --- a/.gitea/workflows/python_runner.yaml +++ /dev/null @@ -1,69 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 -on: - push: - paths: - - 'requirements.txt' - -jobs: - Explore-Gitea-Actions: - runs-on: ubuntu-latest - steps: - - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - name: Check out repository code - uses: actions/checkout@v4 - - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." - - name: List files in the repository - run: | - ls ${{ gitea.workspace }} - - - name: Compute next version - id: versioning - run: | - latest="${{ vars.PYTHON_VERSION }}" - next_version=$(echo "$latest" | awk -F. -v OFS=. '{$NF += 1 ; print}') - echo "next_version=$next_version" >> $GITHUB_ENV - echo "Variables used :" - echo "------------------------------------------------" - echo "Next version: $next_version" - - - uses: actions/cache@v3 - with: - path: /root/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - - - - name: inject cache into docker - uses: reproducible-containers/buildkit-cache-dance@v3.1.0 - with: - cache-source: /root/.cache/pip - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to gitea - uses: docker/login-action@v3 - with: - registry: gitea.tryton.geeraert.eu - username: ${{ secrets.USERNAME_GITEA }} - password: ${{ secrets.PASSWORD_GITEA }} - - - name: Build and push - uses: docker/build-push-action@v6 - with: - context: "{{defaultContext}}:.gitea/python_build" - push: true - tags: | - gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:latest - gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:${{ env.next_version }} - cache-from: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:buildcache - cache-to: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:buildcache,mode=max - - - name: update version in the variable - run: | - curl -X PUT -H "Content-Type: application/json" \ - --user ${{ secrets.USERNAME_GITEA }}:${{ secrets.PASSWORD_GITEA }} \ - https://gitea.tryton.geeraert.eu/api/v1/repos/pi-ux-ce/${{ github.event.repository.name }}/actions/variables/PYTHON_VERSION \ - -d "{\"Value\":\"$next_version\"}" \ No newline at end of file