forked from medusajs/medusa
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: automated announcement bar (medusajs#2231)
- Loading branch information
1 parent
8eac3ba
commit 31fb4c3
Showing
7 changed files
with
283 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: Generate Docs Release Announcement Bar | ||
on: | ||
release: | ||
types: [published] | ||
|
||
jobs: | ||
add-announcement: | ||
runs-on: ubuntu-latest | ||
env: | ||
GH_TOKEN: ${{ secrets.REFERENCE_PAT }} | ||
steps: | ||
- name: Cancel Previous Runs | ||
uses: styfle/cancel-workflow-action@0.9.1 | ||
with: | ||
access_token: ${{ github.token }} | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v2.3.5 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup Node.js environment | ||
uses: actions/setup-node@v2.4.1 | ||
with: | ||
node-version: "14" | ||
cache: "yarn" | ||
|
||
- name: Install dependencies | ||
uses: ./.github/actions/cache-deps | ||
with: | ||
extension: docs-release | ||
|
||
- name: Build Packages | ||
run: yarn build | ||
|
||
- name: Generate Announcement Bar | ||
run: yarn generate:announcement | ||
|
||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@v4 | ||
with: | ||
commit-message: 'chore(docs): Generated Docs Announcement Bar (automated)' | ||
base: 'master' | ||
title: 'chore(docs): Generated Docs Announcement Bar (automated)' | ||
labels: 'type: chore' | ||
add-paths: www/docs/** | ||
branch: 'chore/generate-announcement' | ||
branch-suffix: 'timestamp' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# Checks if the announcement bar info was last edited more than 6 days ago, and if so removes it | ||
name: Remove Docs Release Announcement Bar | ||
on: | ||
schedule: | ||
- cron: '0 0 * * *' | ||
|
||
jobs: | ||
remove-announcement: | ||
runs-on: ubuntu-latest | ||
env: | ||
GH_TOKEN: ${{ secrets.REFERENCE_PAT }} | ||
steps: | ||
- name: Cancel Previous Runs | ||
uses: styfle/cancel-workflow-action@0.9.1 | ||
with: | ||
access_token: ${{ github.token }} | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v2.3.5 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup Node.js environment | ||
uses: actions/setup-node@v2.4.1 | ||
with: | ||
node-version: "14" | ||
cache: "yarn" | ||
|
||
- name: Install dependencies | ||
uses: ./.github/actions/cache-deps | ||
with: | ||
extension: docs-remove-announcement | ||
|
||
- name: Build Packages | ||
run: yarn build | ||
|
||
- name: Remove Announcement Bar | ||
run: yarn generate:announcement --expire | ||
|
||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@v4 | ||
with: | ||
commit-message: 'chore(docs): Removed Docs Announcement Bar (automated)' | ||
base: 'master' | ||
title: 'chore(docs): Removed Docs Announcement Bar (automated)' | ||
labels: 'type: chore' | ||
add-paths: www/docs/** | ||
branch: 'chore/remove-announcement' | ||
branch-suffix: 'timestamp' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#!/usr/bin/env node | ||
|
||
const { Octokit } = require("@octokit/core"); | ||
const fs = require('fs'); | ||
const path = require('path'); | ||
|
||
const shouldExpire = process.argv.indexOf('--expire') !== -1; | ||
const octokit = new Octokit({ | ||
auth: process.env.GH_TOKEN | ||
}); | ||
|
||
async function main () { | ||
let announcement = {}; | ||
|
||
if (shouldExpire) { | ||
//check if the file was last updated 6 days ago | ||
try { | ||
const fileStat = fs.statSync(path.join(__dirname, '..', 'www', 'docs', 'announcement.json')); | ||
if (dateDiffInDays(fileStat.mtime, new Date()) < 6) { | ||
console.log("File was edited less than 6 days ago. Expiry canceled."); | ||
return; | ||
} | ||
} catch (e) { | ||
//file doesn't exist, continue | ||
} | ||
} else { | ||
//retrieve the latest release | ||
const response = await octokit.request('GET /repos/{owner}/{repo}/releases/latest', { | ||
owner: 'medusajs', | ||
repo: 'medusa' | ||
}); | ||
|
||
const version = response.data.tag_name; | ||
|
||
//add new announcement | ||
announcement = { | ||
id: `release-${version.replace(/\./g, '-')}`, | ||
content: `New Release! Version ${version} of Medusa is out now! Read all about it <a href='${response.data.html_url}'>here</a>.`, | ||
backgroundColor: '#7C53FF', | ||
textColor: '#fff', | ||
isCloseable: false, | ||
} | ||
} | ||
|
||
//write new config file | ||
fs.writeFileSync(path.join(__dirname, '..', 'www', 'docs', 'announcement.json'), JSON.stringify(announcement)); | ||
console.log(`Announcement Bar has been ${shouldExpire ? 'removed' : 'added'}`); | ||
} | ||
|
||
const _MS_PER_DAY = 1000 * 60 * 60 * 24; | ||
|
||
// a and b are javascript Date objects | ||
function dateDiffInDays(a, b) { | ||
// Discard the time and time-zone information. | ||
const utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate()); | ||
const utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate()); | ||
|
||
return Math.floor((utc2 - utc1) / _MS_PER_DAY); | ||
} | ||
|
||
main(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"id":"release-v1-4-1","content":"New Release! Version v1.4.1 of Medusa is out now! Read all about it <a href='https://github.com/medusajs/medusa/releases/tag/v1.4.1'>here</a>.","backgroundColor":"#7C53FF","textColor":"#fff","isCloseable":false} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters