diff --git a/.forgejo/workflows/build-placement.yml b/.forgejo/workflows/build-placement.yml index 76c10a76..351b1e59 100644 --- a/.forgejo/workflows/build-placement.yml +++ b/.forgejo/workflows/build-placement.yml @@ -6,18 +6,13 @@ on: - "placement-dev[0-9]+.[0-9]+.[0-9]+" - "placement-dev[0-9]+.[0-9]+.[0-9]+*" workflow_dispatch: - inputs: - version: - description: "Version to deploy" - type: string - required: false - default: "latest" env: REGISTRY: ${{ vars.CONTAINER_REGISTRY }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} + IMAGE_VERSION: latest SERVICE_NAME: hrms-api-placement DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }} @@ -28,26 +23,15 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Extract version from tag - id: version + - name: Tag Version + shell: bash run: | - if [ "${{ gitea.event_name }}" == "push" ] && [ -n "${{ gitea.ref_name }}" ]; then - # Extract version from tag (remove 'placement-dev' prefix) - VERSION="${{ gitea.ref_name }}" - VERSION="${VERSION#placement-dev}" - echo "IMAGE_VERSION=$VERSION" >> $GITEA_OUTPUT - echo "VERSION=$VERSION" >> $GITEA_OUTPUT + if [[ "${{ github.event_name }}" == "push" ]]; then + VERSION=$(echo "${{ github.ref_name }}" | sed 's/placement-dev//g') + echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV else - # Use workflow dispatch input or default to 'latest' - VERSION="${{ inputs.version || 'latest' }}" - echo "IMAGE_VERSION=$VERSION" >> $GITEA_OUTPUT - echo "VERSION=$VERSION" >> $GITEA_OUTPUT + echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV fi - echo "Using version: $VERSION" - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login in to registry uses: docker/login-action@v3 with: @@ -61,11 +45,11 @@ jobs: platforms: linux/amd64 context: . file: ./BMA.EHR.Placement.Service/Dockerfile - tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ steps.version.outputs.VERSION }} + tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }} push: true - name: Remote Deploy - uses: appleboy/ssh-action@v1.0.3 + uses: appleboy/ssh-action@v1.2.1 with: host: ${{ vars.SSH_DEPLOY_HOST }} port: ${{ vars.SSH_DEPLOY_PORT }} @@ -73,7 +57,7 @@ jobs: password: ${{ secrets.SSH_DEPLOY_PASSWORD }} script: | cd ~/repo - ./replace-env.sh API_PLACEMENT "${{ steps.version.outputs.VERSION }}" + ./replace-env.sh API_PLACEMENT "${{ env.IMAGE_VERSION }}" ./deploy.sh ${{ env.SERVICE_NAME }} - name: Discord Notification @@ -87,7 +71,7 @@ jobs: -d "{ \"embeds\": [{ \"title\": \"$STATUS\", - \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ steps.version.outputs.VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\", + \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\", \"color\": $COLOR, \"footer\": { \"text\": \"Release Notification\",