diff --git a/.gitea/workflows/build-push.yaml b/.gitea/workflows/build-push.yaml index b671f6f..f66506c 100644 --- a/.gitea/workflows/build-push.yaml +++ b/.gitea/workflows/build-push.yaml @@ -5,114 +5,17 @@ on: branches: - main # Changez cela si votre branche principale a un autre nom -env: - IMAGE_NAME: public/calibre-web - IMAGE_TAGS: latest - IMAGE_REGISTRY: niepce.petite-maison-orange.fr - REGISTRY_USER: eric@coissac.eu - REGISTRY_PASSWORD: ${{ secrets.NIEPCETOKEN }} - CHECK: https://haoma.petite-maison-orange.fr/ping/7e80fab1-f1ed-4ece-81aa-cf9061cda5c4 - RELEASE_FILE: calibre_web_latest.txt - jobs: build: runs-on: ubuntu-latest - steps: - - name: Start the job - run: | - curl -fsS -m 10 --retry 5 \ - ${{ env.CHECK }}/start - shell: bash + steps: + - name: Build and push image + uses: https://gargoton.petite-maison-orange.fr/pmo-actions/build-push-image@main + with: + image_name: public/calibre-web + image_tags: latest + version_file: calibre_web_latest.txt + check_uuid: 7e80fab1-f1ed-4ece-81aa-cf9061cda5c4 - - name: install podman - run: | - apt-get update - apt-get install -y podman - - - name: Checkout code - uses: actions/checkout@v4 - - - name: Build image starting - run: | - curl -fsS -m 10 --retry 5 \ - --data-raw "Buildind docker image for $(cat ${{ env.RELEASE_FILE }})" \ - ${{ env.CHECK }}/log - shell: bash - - - name: Read version file - id: version - run: | - # Lire le contenu du fichier et supprimer les espaces/retours chariots - SOFTVERSION=$(cat ${{ env.RELEASE_FILE }} | tr -d ' \n') - # Stocker la valeur dans une variable d'environnement - echo "SOFTVERSION=$SOFTVERSION" >> $GITEA_ENV - - - name: Add PMO version tag - run: | - echo "IMAGE_TAGS=${{ env.IMAGE_TAGS }} pmo-${{ env.SOFTVERSION }}" >> $GITEA_ENV - - - name: Podman login - run: | - podman login ${{ env.IMAGE_REGISTRY }} \ - -u ${{ env.REGISTRY_USER }} \ - -p ${{ env.REGISTRY_PASSWORD }} - - - name: Build and tag image - run: | - tags=(${{ env.IMAGE_TAGS }}) - sep="" - if [[ -n "${tags[0]}" ]] ; then - sep=":" - fi - image=${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}${sep}${tags[0]} - docker build -t ${image} . - docker save ${image} -o image.tar - podman load -i image.tar - for tag in "${tags[@]:1}" ; do - podman tag ${image} \ - ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${tag} - done - - - name: Canceled building - if: cancelled() - run: | - curl -fsS -m 10 --retry 5 \ - --data-raw "Building image cancelled for $(cat ${{ env.RELEASE_FILE }})" \ - ${{ env.CHECK }}/fail - exit 1 - shell: bash - - - name: Build image failed - if: failure() - run: | - curl -fsS -m 10 --retry 5 \ - --data-raw "Failed to build docker image for $(cat ${{ env.RELEASE_FILE }})" \ - ${{ env.CHECK }}/fail - exit 1 - shell: bash - - - name: Push image to registry - run: | - tags=(${{ env.IMAGE_TAGS }}) - for tag in "${tags[@]}" ; do - podman push ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:$tag - done - - - name: Push image failed - if: failure() - run: | - curl -fsS -m 10 --retry 5 \ - --data-raw "Failed to push docker image for $(cat ${{ env.RELEASE_FILE }})" \ - ${{ env.CHECK }}/fail - exit 1 - shell: bash - - - name: End of the job - run: | - curl -fsS -m 10 --retry 5 \ - --data-raw "Build docker image for $(cat ${{ env.RELEASE_FILE }})" \ - ${{ env.CHECK }} - shell: bash - \ No newline at end of file