diff --git a/.github/workflows/api-container.yml b/.github/workflows/api-container.yml index 37244b7..773d856 100644 --- a/.github/workflows/api-container.yml +++ b/.github/workflows/api-container.yml @@ -1,95 +1,97 @@ -name: API Deployment Container -on: - workflow_dispatch: {} - pull_request: - branches: - - main - types: - - opened - - reopened - - synchronize - - ready_for_review - push: - branches: - - main - paths: - - api/** -jobs: - determine-workflow: - runs-on: 'ubuntu-latest' - outputs: - workflow_type: ${{ steps.workflow.outputs.workflow_type }} - workflow_envs: ${{ steps.workflow.outputs.workflow_envs }} - release_type: ${{ steps.workflow.outputs.release_type }} - current_version: ${{ steps.version.outputs.current_version }} - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - name: Determine Workflow - id: workflow - shell: bash - run: | - event=${{ github.event_name }} - workflow_type='dev'; - workflow_envs='["dev"]' - if [[ $event == 'workflow_dispatch' && '${{ github.ref_name }}' == 'main' ]]; - then - echo "in if statement" - workflow_type='release'; - workflow_envs='["prod"]' - fi - - echo "workflow_type=$workflow_type" >> $GITHUB_OUTPUT - echo "workflow_envs=$workflow_envs" >> $GITHUB_OUTPUT - - echo "Running $workflow_type pipeline in environments: $workflow_envs" >> $GITHUB_STEP_SUMMARY - - name: Extract Version - id: version - shell: bash - run: | - version=$(jq -r '.version' api/package.json) - echo "current_version=$version" >> "$GITHUB_OUTPUT" - nonprod-deploy: - needs: determine-workflow - if: needs.determine-workflow.outputs.workflow_type != 'release' - strategy: - max-parallel: 1 - matrix: - env: ${{ fromJson(needs.determine-workflow.outputs.workflow_envs) }} - uses: ./.github/workflows/api-deploy-nonprod.yml - with: - environments: ${{ matrix.env }} - workflow_type: ${{ needs.determine-workflow.outputs.workflow_type }} - branch: ${{ github.head_ref || github.ref_name }} - current_version: ${{ needs.determine-workflow.outputs.current_version }} - secrets: - DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} - DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} - TEST: ${{ secrets.TEST }} - COOLIFY_WEBHOOK_API: ${{ secrets.COOLIFY_WEBHOOK_API }} - COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} - permissions: - contents: read - packages: write - prod-deploy: - needs: determine-workflow - if: needs.determine-workflow.outputs.workflow_type == 'release' - strategy: - max-parallel: 1 - matrix: - env: ${{ fromJson(needs.determine-workflow.outputs.workflow_envs) }} - uses: ./.github/workflows/api-deploy-prod.yml - with: - environments: ${{ matrix.env }} - workflow_type: ${{ needs.determine-workflow.outputs.workflow_type }} - branch: ${{ github.head_ref || github.ref_name }} - current_version: ${{ needs.determine-workflow.outputs.current_version }} - secrets: - DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} - DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} - TEST: ${{ secrets.TEST }} - COOLIFY_WEBHOOK_API: ${{ secrets.COOLIFY_WEBHOOK_API }} - COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} - permissions: - contents: read - packages: write +name: API Deployment Container +on: + workflow_dispatch: {} + pull_request: + branches: + - main + types: + - opened + - reopened + - synchronize + - ready_for_review + paths: + - api/** + push: + branches: + - main + paths: + - api/** +jobs: + determine-workflow: + runs-on: 'ubuntu-latest' + outputs: + workflow_type: ${{ steps.workflow.outputs.workflow_type }} + workflow_envs: ${{ steps.workflow.outputs.workflow_envs }} + release_type: ${{ steps.workflow.outputs.release_type }} + current_version: ${{ steps.version.outputs.current_version }} + steps: + - name: Checkout Code + uses: actions/checkout@v4 + - name: Determine Workflow + id: workflow + shell: bash + run: | + event=${{ github.event_name }} + workflow_type='dev'; + workflow_envs='["dev"]' + if [[ $event == 'workflow_dispatch' && '${{ github.ref_name }}' == 'main' ]]; + then + echo "in if statement" + workflow_type='release'; + workflow_envs='["prod"]' + fi + + echo "workflow_type=$workflow_type" >> $GITHUB_OUTPUT + echo "workflow_envs=$workflow_envs" >> $GITHUB_OUTPUT + + echo "Running $workflow_type pipeline in environments: $workflow_envs" >> $GITHUB_STEP_SUMMARY + - name: Extract Version + id: version + shell: bash + run: | + version=$(jq -r '.version' api/package.json) + echo "current_version=$version" >> "$GITHUB_OUTPUT" + nonprod-deploy: + needs: determine-workflow + if: needs.determine-workflow.outputs.workflow_type != 'release' + strategy: + max-parallel: 1 + matrix: + env: ${{ fromJson(needs.determine-workflow.outputs.workflow_envs) }} + uses: ./.github/workflows/api-deploy-nonprod.yml + with: + environments: ${{ matrix.env }} + workflow_type: ${{ needs.determine-workflow.outputs.workflow_type }} + branch: ${{ github.head_ref || github.ref_name }} + current_version: ${{ needs.determine-workflow.outputs.current_version }} + secrets: + DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + TEST: ${{ secrets.TEST }} + COOLIFY_WEBHOOK_API: ${{ secrets.COOLIFY_WEBHOOK_API }} + COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + permissions: + contents: read + packages: write + prod-deploy: + needs: determine-workflow + if: needs.determine-workflow.outputs.workflow_type == 'release' + strategy: + max-parallel: 1 + matrix: + env: ${{ fromJson(needs.determine-workflow.outputs.workflow_envs) }} + uses: ./.github/workflows/api-deploy-prod.yml + with: + environments: ${{ matrix.env }} + workflow_type: ${{ needs.determine-workflow.outputs.workflow_type }} + branch: ${{ github.head_ref || github.ref_name }} + current_version: ${{ needs.determine-workflow.outputs.current_version }} + secrets: + DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + TEST: ${{ secrets.TEST }} + COOLIFY_WEBHOOK_API: ${{ secrets.COOLIFY_WEBHOOK_API }} + COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + permissions: + contents: read + packages: write diff --git a/.github/workflows/api-deploy-nonprod.yml b/.github/workflows/api-deploy-nonprod.yml index 88361a3..7fdb54d 100644 --- a/.github/workflows/api-deploy-nonprod.yml +++ b/.github/workflows/api-deploy-nonprod.yml @@ -90,5 +90,5 @@ jobs: steps: - name: Deploy to Coolify run: | - curl -X --request GET '${{ secrets.COOLIFY_WEBHOOK_API }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' + curl -X GET '${{ secrets.COOLIFY_WEBHOOK_API }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' diff --git a/.github/workflows/web-container.yml b/.github/workflows/web-container.yml index 36a5f04..001c866 100644 --- a/.github/workflows/web-container.yml +++ b/.github/workflows/web-container.yml @@ -9,6 +9,8 @@ on: - reopened - synchronize - ready_for_review + paths: + - web/** push: branches: - main