diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index b9386e7de..e9bb29fef 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -1,24 +1,26 @@ name: Deploy to EC2 + on: - workflow_dispatch: # allow manual run + workflow_dispatch: + jobs: deploy: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v2 + - name: Checkout Repository + uses: actions/checkout@v4 with: fetch-depth: 2 - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v4 with: node-version: 20 - - uses: pnpm/action-setup@v3.0.0 + - uses: pnpm/action-setup@v4.0.0 with: - version: 8.15.6 + version: 9 - # -------------------- + # ------------------- # Setup configuration - # -------------------- + # ------------------- - name: Prepare configuration files run: | git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/infra-config.git configuration --depth 1 @@ -26,13 +28,14 @@ jobs: run: | cp configuration/dist/github/developer-roadmap.env .env - # -------------------- - # Prepare the build - # -------------------- - - name: Install dependencies + # ----------------- + # Prepare the Build + # ----------------- + - name: Install Dependencies run: | pnpm install - - name: Generate build + + - name: Generate Production Build run: | git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/web-draw.git .temp/web-draw --depth 1 npm run generate-renderer @@ -45,7 +48,7 @@ jobs: - uses: webfactory/ssh-agent@v0.7.0 with: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - - name: Deploy app to EC2 + - name: Deploy Application to EC2 run: | rsync -apvz --delete --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/roadmap.sh/ - name: Restart PM2 @@ -58,9 +61,9 @@ jobs: cd /var/www/roadmap.sh sudo pm2 restart web-roadmap - # -------------------- + # ---------------------- # Clear cloudfront cache - # -------------------- + # ---------------------- - name: Clear Cloudfront Caching run: | curl -L \ diff --git a/.github/workflows/label-issue.yml b/.github/workflows/label-issue.yml index a59b76aac..ebd13daca 100644 --- a/.github/workflows/label-issue.yml +++ b/.github/workflows/label-issue.yml @@ -1,13 +1,15 @@ name: Label Issue + on: issues: types: [ opened, edited ] + jobs: label-topic-change-issue: runs-on: ubuntu-latest steps: - - name: Add roadmap slug to issue as label - uses: actions/github-script@v3 + - name: Add Labels To Issue + uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/refresh-roadmap-content-json.yml b/.github/workflows/refresh-roadmap-content-json.yml index 04ee6235f..8441eabda 100644 --- a/.github/workflows/refresh-roadmap-content-json.yml +++ b/.github/workflows/refresh-roadmap-content-json.yml @@ -1,35 +1,35 @@ -name: Refreshes roadmap content JSON +name: Refresh Roadmap Content JSON on: - workflow_dispatch: # allow manual run + workflow_dispatch: schedule: - - cron: '0 0 * * *' # every day at midnight + - cron: '0 0 * * *' jobs: - upgrade-deps: + refresh-content: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Setup pnpm + - name: Setup pnpm@v9 uses: pnpm/action-setup@v4 with: version: 9 run_install: false - - name: Setup Node.js + - name: Setup Node.js Version 20 (LTS) uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: 'pnpm' - - name: Install dependencies and generate content JSON + - name: Install Dependencies and Generate Content JSON run: | pnpm install npm run generate:roadmap-content-json + - name: Create PR - uses: peter-evans/create-pull-request@v4 + uses: peter-evans/create-pull-request@v7 with: delete-branch: false branch: "chore/update-content-json" @@ -37,9 +37,16 @@ jobs: labels: | dependencies automated pr - reviewers: kamranahmedse,arikchakma + reviewers: kamranahmedse commit-message: "chore: update roadmap content json" - title: "Update roadmap content json" + title: "Updated Roadmap Content JSON - Automated" body: | - Updates the roadmap content JSON files in the `public` folder. - Please review the changes and merge if everything looks good. + ## Updated Roadmap Content JSON + + > [!IMPORTANT] + > This PR Updates the Roadmap Content JSON files stored in the `public` directory. + > + > Commit: ${{ github.sha }} + > Workflow Path: ${{ github.workflow_ref }} + + **Please Review the Changes and Merge the PR if everything is fine.** \ No newline at end of file diff --git a/.github/workflows/update-deps.yml b/.github/workflows/update-deps.yml deleted file mode 100644 index c0d1a1e0c..000000000 --- a/.github/workflows/update-deps.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Update dependencies - -on: - workflow_dispatch: # allow manual run - schedule: - - cron: '0 0 * * 0' # every sunday at midnight - -jobs: - upgrade-deps: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v3 - with: - node-version: 18 - - uses: pnpm/action-setup@v2.2.2 - with: - version: 7.13.4 - - name: Upgrade dependencies - run: | - pnpm install - npm run upgrade - pnpm install --lockfile-only - - name: Create PR - uses: peter-evans/create-pull-request@v4 - with: - delete-branch: false - branch: "update-deps" - base: "master" - labels: | - dependencies - automated pr - reviewers: kamranahmedse - commit-message: "chore: update dependencies to latest" - title: "Upgrade dependencies to latest" - body: | - Updates all dependencies to latest versions. - Please review the changes and merge if everything looks good. diff --git a/.github/workflows/upgrade-dependencies.yml b/.github/workflows/upgrade-dependencies.yml new file mode 100644 index 000000000..3b351766d --- /dev/null +++ b/.github/workflows/upgrade-dependencies.yml @@ -0,0 +1,51 @@ +name: Upgrade Dependencies + +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * 0' + +jobs: + upgrade-deps: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js Version 20 (LTS) + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Setup pnpm@v9 + uses: pnpm/action-setup@v4 + with: + version: 9 + + - name: Install & Upgrade Dependencies + run: | + pnpm install + npm run upgrade + pnpm install --lockfile-only + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + with: + delete-branch: false + branch: "update-deps" + base: "master" + labels: | + dependencies + automated pr + reviewers: kamranahmedse + commit-message: "chore: update dependencies to latest" + title: "Upgrade Dependencies To Latest - Automated" + body: | + ## Updated all Dependencies to Latest Versions. + + > [!IMPORTANT] + > This PR Upgrades the Dependencies to the Latest Their Versions. + > + > Commit: ${{ github.sha }} + > Workflow Path: ${{ github.workflow_ref }} + + **Please Review the Changes and Merge the PR if everything is fine.** \ No newline at end of file