From 8e88045006376b59f952a0e2a395595cd231c26f Mon Sep 17 00:00:00 2001 From: derberg Date: Mon, 30 Oct 2023 13:14:52 +0100 Subject: [PATCH] ci: refactor website-only pipelines --- .github/workflows/cypress-tests.yml | 10 ++++++++-- .github/workflows/deploy.yml | 16 --------------- .github/workflows/lighthouse-ci.yml | 8 ++++---- .../regenerate-meetings-and-videos.yml | 20 ++++++++++++++++--- .github/workflows/regenerate-tools.yml | 19 ++++++++++++++---- .../validate-case-studies-structures.yaml | 5 ++++- package.json | 1 - 7 files changed, 48 insertions(+), 31 deletions(-) delete mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/cypress-tests.yml b/.github/workflows/cypress-tests.yml index d596ea595d6f..acc9ca227fb5 100644 --- a/.github/workflows/cypress-tests.yml +++ b/.github/workflows/cypress-tests.yml @@ -17,10 +17,16 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Use Node.js 16.x + - name: Check package-lock version + uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master + id: lockversion + + - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: "${{ steps.lockversion.outputs.version }}" + cache: 'npm' + cache-dependency-path: '**/package-lock.json' - name: Install dependencies run: npm install diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 7219ee2b4239..000000000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Deploy to Netlify -on: - issues: - types: [opened, deleted, closed, reopened, labeled, unlabeled] - -jobs: - publish: - runs-on: ubuntu-latest - - steps: - - name: Trigger deploy on Netlify - run: | - curl -X POST "https://api.netlify.com/api/v1/sites/$NETLIFY_SITE_ID/builds" -H "Authorization: Bearer $NETLIFY_AUTH_TOKEN" - env: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} diff --git a/.github/workflows/lighthouse-ci.yml b/.github/workflows/lighthouse-ci.yml index f8cc63d308df..539c8b02b643 100644 --- a/.github/workflows/lighthouse-ci.yml +++ b/.github/workflows/lighthouse-ci.yml @@ -39,7 +39,7 @@ jobs: - if: steps.should_run.outputs.shouldrun == 'true' name: Await Netlify Preview - uses: jakepartusch/wait-for-netlify-action@v1 + uses: jakepartusch/wait-for-netlify-action@f1e137043864b9ab9034ae3a5adc1c108e3f1a48 #version 1.4 https://github.com/JakePartusch/wait-for-netlify-action/releases/tag/v1.4 id: netlify with: site_name: asyncapi-website @@ -48,7 +48,7 @@ jobs: - if: steps.should_run.outputs.shouldrun == 'true' name: Lighthouse Audit id: lighthouse_audit - uses: treosh/lighthouse-ci-action@9.3.0 + uses: treosh/lighthouse-ci-action@03becbfc543944dd6e7534f7ff768abb8a296826 #version 10.1 https://github.com/treosh/lighthouse-ci-action/releases/tag/10.1.0 with: urls: | https://deploy-preview-$PR_NUMBER--asyncapi-website.netlify.app/ @@ -87,9 +87,9 @@ jobs: - if: steps.should_run.outputs.shouldrun == 'true' name: LightHouse Statistic Comment id: lighthouse_statistic_comment - uses: marocchino/sticky-pull-request-comment@v2.2.0 + uses: marocchino/sticky-pull-request-comment@efaaab3fd41a9c3de579aba759d2552635e590fd # version 2.8 https://github.com/marocchino/sticky-pull-request-comment/releases/tag/v2.8.0 with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} number: ${{ github.event.pull_request.number }} header: lighthouse message: ${{ steps.lighthouse_score_report.outputs.comment }} diff --git a/.github/workflows/regenerate-meetings-and-videos.yml b/.github/workflows/regenerate-meetings-and-videos.yml index 0430c2c40893..72aeda4e9e69 100644 --- a/.github/workflows/regenerate-meetings-and-videos.yml +++ b/.github/workflows/regenerate-meetings-and-videos.yml @@ -18,13 +18,27 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 + + - name: Check package-lock version + uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master + id: lockversion + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: "${{ steps.lockversion.outputs.version }}" + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + - name: Install dependencies run: npm install + - name: Regenerate run: npm run generate:meetings && npm run generate:videos && npm run generate:dashboard + - name: Create Pull Request with new meetings.json, newsroom-videos.json and dashboard.json version - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@38e0b6e68b4c852a5500a94740f0e535e0d7ba54 # use 4.2.4 https://github.com/peter-evans/create-pull-request/releases/tag/v4.2.4 with: token: ${{ secrets.GH_TOKEN }} commit-message: 'chore: update meetings.json, newsrooom_videos.json and dashboard.json' @@ -34,7 +48,7 @@ jobs: branch: update-meetings/${{ github.job }} - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel name: Report workflow run status to Slack - uses: 8398a7/action-slack@v3 + uses: 8398a7/action-slack@fbd6aa58ba854a740e11a35d0df80cb5d12101d8 #using https://github.com/8398a7/action-slack/releases/tag/v3.15.1 with: status: ${{ job.status }} fields: repo,action,workflow diff --git a/.github/workflows/regenerate-tools.yml b/.github/workflows/regenerate-tools.yml index 1db90e0e34f2..705a29508068 100644 --- a/.github/workflows/regenerate-tools.yml +++ b/.github/workflows/regenerate-tools.yml @@ -16,16 +16,26 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 - - name: Use Node.js ${{ matrix.node-version }} + + - name: Check package-lock version + uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master + id: lockversion + + - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: "${{ steps.lockversion.outputs.version }}" + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + - name: Install dependencies run: npm install + - name: Regenerate run: npm run generate:tools + - name: Create Pull Request with new tools.json version - uses: peter-evans/create-pull-request@v4 + uses: peter-evans/create-pull-request@38e0b6e68b4c852a5500a94740f0e535e0d7ba54 # use 4.2.4 https://github.com/peter-evans/create-pull-request/releases/tag/v4.2.4 with: token: ${{ secrets.GH_TOKEN }} commit-message: 'chore: update tools.json' @@ -33,9 +43,10 @@ jobs: author: asyncapi-bot title: 'chore: update tools.json' branch: update-tools/${{ github.job }} + - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel name: Report workflow run status to Slack - uses: 8398a7/action-slack@v3 + uses: 8398a7/action-slack@fbd6aa58ba854a740e11a35d0df80cb5d12101d8 #using https://github.com/8398a7/action-slack/releases/tag/v3.15.1 with: status: ${{ job.status }} fields: repo,action,workflow diff --git a/.github/workflows/validate-case-studies-structures.yaml b/.github/workflows/validate-case-studies-structures.yaml index 3b73be6a7538..df0ca279c5b5 100644 --- a/.github/workflows/validate-case-studies-structures.yaml +++ b/.github/workflows/validate-case-studies-structures.yaml @@ -14,13 +14,16 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 + - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v35 + uses: tj-actions/changed-files@af292f1e845a0377b596972698a8598734eb2796 # using https://github.com/tj-actions/changed-files/releases/tag/v40 with: files: config/casestudies/*.yml + - name: Install ajv and yaml run: npm install ajv@8.12.0 ajv-formats@2.1.1 yaml@2.2.1 + - name: Run validation script uses: actions/github-script@v6 with: diff --git a/package.json b/package.json index 5efbf8e453b5..0cd0af3bb6e0 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "generate:videos": "node scripts/build-newsroom-videos.js", "generate:tools": "node scripts/build-tools.js", "test": "npx cypress run --component", - "release": "echo \"No release to npm for this project\"", "cy:open": "cypress open", "cy:run": "cypress run" },