name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: - "testing" paths: - 'django_testing/dockerfile' tags-ignore: - '*' 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: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Compute next version id: versioning run: | latest="${{ vars.VERSION_TESTING }}" 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" - 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: django_testing/ push: true tags: | gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:latest gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:${{ env.next_version }} cache-from: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/geoip2-nginx:buildcache cache-to: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/geoip2-nginx: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/VERSION_TESTING \ -d "{\"Value\":\"$next_version\"}" - name: Rollout Django to force pulling the new image uses: actions-hub/kubectl@master env: KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} with: args: rollout restart deployment django-testing -n django-testing - run: echo "🍏 This job's status is ${{ job.status }}."