@@ -28,15 +28,17 @@ concurrency:
2828 group : ${{ github.ref }}
2929
3030jobs :
31- deploy-env :
31+ pre-deploy :
3232 if : |
3333 !startsWith(github.head_ref || github.ref_name, 'renovate') &&
3434 !startsWith(github.head_ref || github.ref_name, 'update-nx-workspace')
3535
3636 runs-on : ubuntu-latest
3737
3838 outputs :
39- environment : ${{ steps.environment.outputs.environment }}
39+ apps : ${{ steps.pre-deploy.outputs.apps }}
40+ environment : ${{ steps.pre-deploy.outputs.environment }}
41+ app-tenants : ${{ steps.pre-deploy.outputs.app-tenants }}
4042
4143 steps :
4244 - uses : actions/checkout@v4
@@ -50,19 +52,25 @@ jobs:
5052 - name : Install dependencies
5153 run : pnpm install --frozen-lockfile
5254
53- - name : Build action
54- run : pnpm nx build deploy-env -action
55+ - name : Build pre-deploy action
56+ run : pnpm nx build nx-pre-deploy -action
5557
56- - name : Determine environment
57- id : environment
58- uses : ./packages/deploy-env-action
58+ - name : Run pre-deploy
59+ id : pre-deploy
60+ uses : ./packages/nx-pre-deploy-action
61+ with :
62+ infisical-client-id : ${{ secrets.INFISICAL_READ_CLIENT_ID }}
63+ infisical-client-secret : ${{ secrets.INFISICAL_READ_CLIENT_SECRET }}
64+ infisical-project-id : ${{ secrets.INFISICAL_PROJECT_ID }}
5965
6066 fly-deployment :
61- needs : deploy-env
67+ if : ${{ needs.pre-deploy.outputs.environment != '' }}
68+
69+ needs : pre-deploy
6270 runs-on : ubuntu-latest
6371
6472 # Not possible to provide url since we might have multiple deployments
65- environment : ${{ needs.deploy-env .outputs.environment }}
73+ environment : ${{ needs.pre-deploy .outputs.environment }}
6674
6775 steps :
6876 - uses : actions/create-github-app-token@v1
@@ -84,34 +92,20 @@ jobs:
8492 - name : Install dependencies
8593 run : pnpm install --frozen-lockfile
8694
87- - name : Build action
95+ - name : Build fly deployment action
8896 run : pnpm nx build nx-fly-deployment-action
8997
9098 - name : Install Fly CLI
9199 uses : superfly/flyctl-actions/setup-flyctl@master
92100 with :
93101 version : 0.3.45
94102
95- - name : Analyze affected projects to deploy
103+ - name : Set SHAs for affected calculations
96104 uses : nrwl/nx-set-shas@v4
97105 with :
98106 main-branch-name : main
99107 set-environment-variables-for-job : true
100108
101- - name : Fetch tenants from Infisical
102- id : fetch-tenants
103- run : |
104- echo "Fetching tenants from Infisical..."
105- TENANTS=$(npx tsx scripts/fetch-tenants.ts)
106- echo "tenants<<EOF" >> $GITHUB_OUTPUT
107- echo "$TENANTS" >> $GITHUB_OUTPUT
108- echo "EOF" >> $GITHUB_OUTPUT
109- env :
110- INFISICAL_CLIENT_ID : ${{ secrets.INFISICAL_READ_CLIENT_ID }}
111- INFISICAL_CLIENT_SECRET : ${{ secrets.INFISICAL_READ_CLIENT_SECRET }}
112- INFISICAL_PROJECT_ID : ${{ secrets.INFISICAL_PROJECT_ID }}
113- DEPLOY_ENV : ${{ needs.deploy-env.outputs.environment }}
114-
115109 - name : Run Deployment to Fly
116110 id : deployment
117111 uses : ./packages/nx-fly-deployment-action
@@ -120,7 +114,7 @@ jobs:
120114 fly-org : ${{ vars.FLY_ORG }}
121115 fly-region : ${{ vars.FLY_REGION }}
122116 token : ${{ steps.generate-token.outputs.token }}
123- tenants : ${{ steps.fetch-tenants .outputs.tenants }}
117+ app-details : ${{ needs.pre-deploy .outputs.app- tenants }}
124118 secrets : |
125119 INFISICAL_CLIENT_ID=${{ secrets.INFISICAL_READ_CLIENT_ID }}
126120 INFISICAL_CLIENT_SECRET=${{ secrets.INFISICAL_READ_CLIENT_SECRET }}
0 commit comments