Skip to content

Commit 49e87f2

Browse files
committed
Github cloudflare action (#1576)
* test * Add custom videoInfo and product banner buttons. Update README * Improve programming and language reference new structure * Add featureWrapper * Micropython courses * Github cloudflare action * add env * remove cache * Improve cloudflare actions * 2.0.0-alpha-24.4 * Compress PDF
1 parent 149bb77 commit 49e87f2

File tree

25 files changed

+935
-141739
lines changed

25 files changed

+935
-141739
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: "Upload an app to Cloudflare Pages"
2+
description: "Manually deploy an app to cloudflare pages"
3+
inputs:
4+
upload-dir:
5+
description: "The name of the app to build and export"
6+
required: true
7+
8+
project-name:
9+
description: "The name of the project to upload to"
10+
required: true
11+
12+
cloudflare-account:
13+
description: "The Cloudflare account ID"
14+
required: true
15+
16+
cloudflare-api-token:
17+
description: "The Cloudflare API token"
18+
required: true
19+
20+
runs:
21+
using: composite
22+
steps:
23+
24+
- name: Find PR Preview Comment
25+
if: github.event_name == 'pull_request'
26+
uses: peter-evans/find-comment@v1
27+
id: deploy-preview-comment
28+
with:
29+
issue-number: ${{ github.event.pull_request.number }}
30+
comment-author: "github-actions[bot]"
31+
body-includes: ${{ inputs.project-name }}
32+
33+
- name: Update Comment if exists
34+
if: github.event_name == 'pull_request' && steps.deploy-preview-comment.outputs.comment-id != 0
35+
uses: peter-evans/[email protected]
36+
with:
37+
comment-id: ${{ steps.deploy-preview-comment.outputs.comment-id }}
38+
edit-mode: replace
39+
body: |
40+
### ${{ inputs.project-name }}
41+
Waiting for deployment to complete...
42+
43+
- id: branch-name
44+
uses: tj-actions/branch-names@v5
45+
46+
- id: format-branch
47+
shell: bash
48+
run: format=$(echo ${{ steps.branch-name.outputs.current_branch }} | tr / -) && echo "::set-output name=branch::$(echo "${format:0:28}")"
49+
50+
- name: deploy-cloudflare
51+
uses: cloudflare/pages-action@v1
52+
id: deploy-cloudflare
53+
with:
54+
apiToken: ${{ inputs.cloudflare-api-token }}
55+
accountId: ${{ inputs.cloudflare-account }}
56+
projectName: ${{ inputs.project-name }}
57+
directory: ${{ inputs.upload-dir }}
58+
branch: ${{ steps.format-branch.outputs.branch }}
59+
60+
- name: Create PR Preview Comment
61+
if: github.event_name == 'pull_request' && steps.deploy-preview-comment.outputs.comment-id == 0
62+
uses: peter-evans/[email protected]
63+
with:
64+
issue-number: ${{ github.event.pull_request.number }}
65+
body: |
66+
### ${{ inputs.project-name }}
67+
🚀 Preview this PR: ${{ steps.deploy-cloudflare.outputs.url }}
68+
📍 Commit SHA: ${{ github.sha }}
69+
70+
71+
- name: Update PR Preview Comment
72+
if: github.event_name == 'pull_request' && steps.deploy-preview-comment.outputs.comment-id != 0
73+
uses: peter-evans/[email protected]
74+
with:
75+
comment-id: ${{ steps.deploy-preview-comment.outputs.comment-id }}
76+
edit-mode: replace
77+
body: |
78+
### ${{ inputs.project-name }}
79+
🚀 Preview this PR: ${{ steps.deploy-cloudflare.outputs.url }}
80+
📍 Commit SHA: ${{ github.sha }}
81+

.github/workflows/cloudflare.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Cloudflare Pages
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
types: [opened, synchronize]
8+
9+
jobs:
10+
run:
11+
runs-on: ubuntu-latest
12+
env:
13+
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
14+
APP_ENV: prod
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
- uses: actions/setup-node@v3
19+
with:
20+
node-version: 18
21+
cache: "npm"
22+
cache-dependency-path: "**/package-lock.json"
23+
24+
- name: Render Datasheets
25+
run: cd ${GITHUB_WORKSPACE}/scripts/datasheet-rendering;./render-datasheets.sh
26+
27+
- name: Copy Static Files
28+
run: |
29+
mkdir -p static/resources/datasheets static/resources/schematics static/resources/pinouts
30+
find ./content/hardware -type f -name "*-schematics.pdf" -exec cp {} ./static/resources/schematics/ \;
31+
find ./content/hardware -type f -name "*-datasheet.pdf" -exec cp {} ./static/resources/datasheets/ \;
32+
find ./content/hardware -type f -name "*-full-pinout.pdf" -exec cp {} ./static/resources/pinouts/ \;
33+
find ./content/hardware -type f -name "*-pinout.png" -exec cp {} ./static/resources/pinouts/ \;
34+
35+
- name: Gatsby main cache
36+
uses: actions/cache@v3
37+
id: gatsby-cache-folder
38+
with:
39+
path: .cache
40+
key: ${{ runner.os }}-cache-gatsbyV2-${{ github.sha }}
41+
restore-keys: |
42+
${{ runner.os }}-cache-gatsbyV2-
43+
44+
- name: Gatsby Public Folder
45+
uses: actions/cache@v3
46+
id: gatsby-public-folder
47+
with:
48+
path: public/
49+
key: ${{ runner.os }}-public-gatsbyV2-${{ github.sha }}
50+
restore-keys: |
51+
${{ runner.os }}-public-gatsbyV2-
52+
53+
- run: npm install
54+
- run: npm run build
55+
56+
- name: Docs
57+
uses: ./.github/actions/cloudflare-upload
58+
with:
59+
upload-dir: public
60+
project-name: docs-content
61+
cloudflare-api-token: ${{ secrets.CLOUDFLARE_API_TOKEN }}
62+
cloudflare-account: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}

0 commit comments

Comments
 (0)