Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
celineung committed Nov 30, 2023
1 parent 0781dc6 commit eb1c14e
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 10 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/deploy-to-scalingo-review-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: "Generic workflow to deploy to scalingo, given arguments"

on:
workflow_call:
inputs:
pull_request_id:
type: number
required: true
secrets:
SCALINGO_API_TOKEN:
required: true

jobs:
deploy:
name: "Deploy to review app pr${{ inputs.pull_request_id }}"
runs-on: ubuntu-latest
environment: review-app
concurrency:
group: deploy-to-scalingo-pr${{ inputs.pull_request_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: "18"
cache: "pnpm"
- name: Install scalingo CLI
run: |
wget -qO- https://cli-dl.scalingo.com/install.sh | bash
echo "$HOME/bin" >> $GITHUB_PATH
- name: Install dependencies
run: pnpm install
- name: Build front
run: NODE_OPTIONS=--max-old-space-size=4096 pnpm front build-scalingo
- name: Build back
run: pnpm back build
- name: Login to scalingo
run: scalingo login --api-token ${{ secrets.SCALINGO_API_TOKEN }}
- name: Deploy back
run: scalingo --app if-dev-back-pr${{ inputs.pull_request_id }} deploy back/back-build.tar.gz pr${{ inputs.pull_request_id }}
- name: Deploy front
run: scalingo --app if-dev-front-pr${{ inputs.pull_request_id }} deploy front/front-build.tar.gz pr${{ inputs.pull_request_id }}
22 changes: 22 additions & 0 deletions .github/workflows/feature-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: "Continuous Deployment"

on:
pull_request:

jobs:
get-pr-number:
runs-on: ubuntu-latest
steps:
- name: Get PR Number
run: echo "PR Number is ${{ github.event.number }}"

validation:
uses: ./.github/workflows/fullcheck.yml

deploy-feature-branch:
uses: ./.github/workflows/deploy-to-scalingo-review-app.yml
needs: validation
with:
pull_request_id: ${{ github.event.number }}
secrets:
SCALINGO_API_TOKEN: ${{ secrets.SCALINGO_API_TOKEN }}
4 changes: 0 additions & 4 deletions .github/workflows/fullcheck.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: "Fullcheck of the project + integration tests"

on:
push:
branches-ignore:
- main

workflow_call:

jobs:
Expand Down
15 changes: 9 additions & 6 deletions back/transpile-back-and-prepare-for-prod.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,15 @@ console.log("Copying package.json of back for prod");
fs.copyFileSync("./package.json", "build/back/package.json");

execSync(
"cp -v -R ./src/adapters/secondary/pg/staticData build/back/src/adapters/secondary/pg/staticData"
"cp -v -R ./src/adapters/secondary/pg/staticData build/back/src/adapters/secondary/pg",
);

// Copy dependencies package.json files to build directory
fs.copyFileSync("../shared/package.json", "build/shared/package.json");
fs.copyFileSync( "../libs/html-templates/package.json", "build/libs/html-templates/package.json" );
fs.copyFileSync(
"../libs/html-templates/package.json",
"build/libs/html-templates/package.json",
);

const removeFromFileLinesThatInclude = (filePath, regex) => {
let data = fs.readFileSync(filePath, "utf8");
Expand All @@ -55,13 +58,13 @@ removeFromFileLinesThatInclude(htmlPackageJson, /"types": "src\/index.ts",?/);
replaceInFileSync(
htmlPackageJson,
/"main": "src\/index.ts"/,
'"main": "src/index.js"'
'"main": "src/index.js"',
);
removeFromFileLinesThatInclude(sharedPackageJson, /"types": "src\/index.ts",?/);
replaceInFileSync(
sharedPackageJson,
/"main": "src\/index.ts"/,
'"main": "src/index.js"'
'"main": "src/index.js"',
);

// change ts-node scripts to node scripts
Expand All @@ -70,14 +73,14 @@ replaceInFileSync(backPackageJson, /"node (.*)(\.ts)/g, '"node $1.js');
replaceInFileSync(
backPackageJson,
/--compilerOptions '{\\"resolveJsonModule\\": true}'/g,
""
"",
);

// change migration script from ts source files to js
replaceInFileSync(
backPackageJson,
/"node_modules\/node-pg-migrate\/bin\/node-pg-migrate -j ts"/g,
'"node_modules/node-pg-migrate/bin/node-pg-migrate"'
'"node_modules/node-pg-migrate/bin/node-pg-migrate"',
);
execSync("cp -r -v scalingo/. build/");

Expand Down

0 comments on commit eb1c14e

Please sign in to comment.