-
Notifications
You must be signed in to change notification settings - Fork 54
140 lines (133 loc) · 7.97 KB
/
release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
name: Release
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
# This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
fetch-depth: 0
- name: Setup Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: Install Dependencies
run: npm ci
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
publish: npm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
publish-integrations:
name: Publish Integrations
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Setup Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: Install Dependencies
# We need to build and then re-install so that the "bin" can be correctly linked
run: |
npm ci
npm run build
npm ci
- name: Publish all integrations assets to staging
run: npm run publish-assets
env:
CLOUDFLARE_PAGES_PROJECT: ${{ secrets.INTEGRATIONS_ASSETS_STAGING_PROJECT }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_PAGES_API_TOKEN }}
- name: Publish all integrations to staging
run: npm run publish-integrations-staging
env:
GITBOOK_TOKEN: ${{ secrets.GITBOOK_STAGING_API_TOKEN }}
GITBOOK_ENDPOINT: https://api.gitbook-staging.com
GITBOOK_ORGANIZATION: gitbookio
UNFURL_GITHUB_CLIENT_ID: ${{ secrets.UNFURL_GITHUB_CLIENT_ID }}
UNFURL_GITHUB_CLIENT_SECRET: ${{ secrets.UNFURL_GITHUB_CLIENT_SECRET }}
GITLAB_CLIENT_ID: ${{ secrets.GITLAB_CLIENT_ID }}
GITLAB_CLIENT_SECRET: ${{ secrets.GITLAB_CLIENT_SECRET }}
DISCORD_CLIENT_ID: $ {{ secrets.DISCORD_CLIENT_ID }}
DISCORD_CLIENT_SECRET: $ {{ secrets.DISCORD_CLIENT_SECRET }}
DISCORD_BOT_TOKEN: $ {{ secrets.DISCORD_BOT_TOKEN }}
SLACK_CLIENT_ID: ${{ secrets.SLACK_STAGING_CLIENT_ID }}
SLACK_CLIENT_SECRET: ${{ secrets.SLACK_STAGING_CLIENT_SECRET }}
SLACK_SIGNING_SECRET: ${{ secrets.SLACK_STAGING_SIGNING_SECRET }}
FIGMA_CLIENT_ID: ${{ secrets.FIGMA_STAGING_CLIENT_ID }}
FIGMA_CLIENT_SECRET: ${{ secrets.FIGMA_STAGING_CLIENT_SECRET }}
MAILCHIMP_CLIENT_ID: ${{ secrets.MAILCHIMP_STAGING_CLIENT_ID }}
MAILCHIMP_CLIENT_SECRET: ${{ secrets.MAILCHIMP_STAGING_CLIENT_SECRET }}
JIRA_CLIENT_ID: ${{ secrets.JIRA_STAGING_CLIENT_ID }}
JIRA_CLIENT_SECRET: ${{ secrets.JIRA_STAGING_CLIENT_SECRET }}
LINEAR_CLIENT_ID: ${{ secrets.LINEAR_STAGING_CLIENT_ID }}
LINEAR_CLIENT_SECRET: ${{ secrets.LINEAR_STAGING_CLIENT_SECRET }}
SENTRY_CLIENT_ID: ${{ secrets.SENTRY_STAGING_CLIENT_ID }}
SENTRY_CLIENT_SECRET: ${{ secrets.SENTRY_STAGING_CLIENT_SECRET }}
SENTRY_GITBOOK_INTEGRATION: ${{ secrets.SENTRY_STAGING_GITBOOK_INTEGRATION }}
GITHUB_APP_INSTALL_URL: ${{ secrets.GITBOOK_GITHUB_STAGING_APP_INSTALL_URL }}
GITHUB_APP_ID: ${{ secrets.GITBOOK_GITHUB_STAGING_APP_ID }}
GITHUB_CLIENT_ID: ${{ secrets.GITBOOK_GITHUB_STAGING_CLIENT_ID }}
GITHUB_CLIENT_SECRET: ${{ secrets.GITBOOK_GITHUB_STAGING_CLIENT_SECRET }}
GITHUB_WEBHOOK_SECRET: ${{ secrets.GITBOOK_GITHUB_STAGING_WEBHOOK_SECRET }}
GITHUB_PRIVATE_KEY: ${{ secrets.GITBOOK_GITHUB_STAGING_PRIVATE_KEY }}
GITHUB_ENTITIES_APP_INSTALL_URL: ${{ secrets.ENTITIES_GITHUB_STAGING_APP_INSTALL_URL }}
GITHUB_ENTITIES_APP_ID: ${{ secrets.ENTITIES_GITHUB_STAGING_APP_ID }}
GITHUB_ENTITIES_CLIENT_ID: ${{ secrets.ENTITIES_GITHUB_STAGING_CLIENT_ID }}
GITHUB_ENTITIES_CLIENT_SECRET: ${{ secrets.ENTITIES_GITHUB_STAGING_CLIENT_SECRET }}
GITHUB_ENTITIES_WEBHOOK_SECRET: ${{ secrets.ENTITIES_GITHUB_STAGING_WEBHOOK_SECRET }}
GITHUB_ENTITIES_PRIVATE_KEY: ${{ secrets.ENTITIES_GITHUB_STAGING_PRIVATE_KEY }}
- name: Publish all integrations assets to production
run: npm run publish-assets
env:
CLOUDFLARE_PAGES_PROJECT: ${{ secrets.INTEGRATIONS_ASSETS_PROD_PROJECT }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_PAGES_API_TOKEN }}
- name: Publish all integrations to production
run: npm run publish-integrations
env:
GITBOOK_TOKEN: ${{ secrets.GITBOOK_PROD_API_TOKEN }}
GITBOOK_ENDPOINT: https://api.gitbook.com
GITBOOK_ORGANIZATION: gitbook
UNFURL_GITHUB_CLIENT_ID: ${{ secrets.UNFURL_GITHUB_CLIENT_ID }}
UNFURL_GITHUB_CLIENT_SECRET: ${{ secrets.UNFURL_GITHUB_CLIENT_SECRET }}
GITLAB_CLIENT_ID: ${{ secrets.GITLAB_CLIENT_ID }}
GITLAB_CLIENT_SECRET: ${{ secrets.GITLAB_CLIENT_SECRET }}
DISCORD_CLIENT_ID: $ {{ secrets.DISCORD_CLIENT_ID }}
DISCORD_CLIENT_SECRET: $ {{ secrets.DISCORD_CLIENT_SECRET }}
DISCORD_BOT_TOKEN: $ {{ secrets.DISCORD_BOT_TOKEN }}
SLACK_CLIENT_ID: ${{ secrets.SLACK_PROD_CLIENT_ID }}
SLACK_CLIENT_SECRET: ${{ secrets.SLACK_PROD_CLIENT_SECRET }}
SLACK_SIGNING_SECRET: ${{ secrets.SLACK_PROD_SIGNING_SECRET }}
FIGMA_CLIENT_ID: ${{ secrets.FIGMA_PROD_CLIENT_ID }}
FIGMA_CLIENT_SECRET: ${{ secrets.FIGMA_PROD_CLIENT_SECRET }}
MAILCHIMP_CLIENT_ID: ${{ secrets.MAILCHIMP_PROD_CLIENT_ID }}
MAILCHIMP_CLIENT_SECRET: ${{ secrets.MAILCHIMP_PROD_CLIENT_SECRET }}
JIRA_CLIENT_ID: ${{ secrets.JIRA_PROD_CLIENT_ID }}
JIRA_CLIENT_SECRET: ${{ secrets.JIRA_PROD_CLIENT_SECRET }}
LINEAR_CLIENT_ID: ${{ secrets.LINEAR_PROD_CLIENT_ID }}
LINEAR_CLIENT_SECRET: ${{ secrets.LINEAR_PROD_CLIENT_SECRET }}
GITHUB_APP_INSTALL_URL: ${{ secrets.GITBOOK_GITHUB_APP_INSTALL_URL }}
GITHUB_APP_ID: ${{ secrets.GITBOOK_GITHUB_APP_ID }}
GITHUB_CLIENT_ID: ${{ secrets.GITBOOK_GITHUB_CLIENT_ID }}
GITHUB_CLIENT_SECRET: ${{ secrets.GITBOOK_GITHUB_CLIENT_SECRET }}
GITHUB_WEBHOOK_SECRET: ${{ secrets.GITBOOK_GITHUB_WEBHOOK_SECRET }}
GITHUB_PRIVATE_KEY: ${{ secrets.GITBOOK_GITHUB_PRIVATE_KEY }}
GITHUB_ENTITIES_APP_INSTALL_URL: ${{ secrets.ENTITIES_GITHUB_APP_INSTALL_URL }}
GITHUB_ENTITIES_APP_ID: ${{ secrets.ENTITIES_GITHUB_APP_ID }}
GITHUB_ENTITIES_CLIENT_ID: ${{ secrets.ENTITIES_GITHUB_CLIENT_ID }}
GITHUB_ENTITIES_CLIENT_SECRET: ${{ secrets.ENTITIES_GITHUB_CLIENT_SECRET }}
GITHUB_ENTITIES_WEBHOOK_SECRET: ${{ secrets.ENTITIES_GITHUB_WEBHOOK_SECRET }}
GITHUB_ENTITIES_PRIVATE_KEY: ${{ secrets.ENTITIES_GITHUB_PRIVATE_KEY }}