Skip to content

Commit 75d4649

Browse files
authored
chore: S3, R2에서 R2로 일원화 (#98)
1 parent 2da8b21 commit 75d4649

File tree

3 files changed

+20
-58
lines changed

3 files changed

+20
-58
lines changed

.env.example

-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
GITHUB_TOKEN="fill_here"
22

3-
# aws
4-
AWS_ACCESS_KEY_ID="fill_here"
5-
AWS_SECRET_ACCESS_KEY="fill_here"
6-
AWS_DEFAULT_REGION="fill_here"
7-
AWS_BUCKET="fill_here"
8-
93
# r2
104
R2_ACCESS_KEY_ID="fill_here"
115
R2_SECRET_ACCESS_KEY="fill_here"

.github/workflows/publish-app.yaml

+6-8
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ on:
1111
default: true
1212

1313
env:
14-
AWS_DEFAULT_REGION: ${{ vars.AWS_DEFAULT_REGION }}
15-
AWS_BUCKET: ${{ vars.AWS_BUCKET }}
14+
R2_DEFAULT_REGION: ${{ vars.R2_DEFAULT_REGION }}
15+
R2_BUCKET: ${{ vars.R2_BUCKET }}
1616
FEED_BASE_URL: ${{ vars.FEED_BASE_URL }}
1717
DEV_USE_BETA_LANE: ${{ github.ref_name != 'release' && 't' }}
1818

@@ -23,7 +23,7 @@ jobs:
2323
steps:
2424
- name: Echo Settings
2525
run: |
26-
echo "S3 - ${{ env.AWS_DEFAULT_REGION }}/${{ env.AWS_BUCKET }}"
26+
echo "R2 - ${{ env.R2_DEFAULT_REGION }}/${{ env.R2_BUCKET }}"
2727
echo "Update lane - ${{ env.DEV_USE_BETA_LANE == 't' && 'beta' || 'production' }}"
2828
2929
- name: Github checkout
@@ -52,8 +52,6 @@ jobs:
5252
run: npm run publish-app -- --arch universal
5353
env:
5454
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
56-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
5755
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
5856
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY}}
5957
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
@@ -67,7 +65,7 @@ jobs:
6765
steps:
6866
- name: Echo Settings
6967
run: |
70-
echo "S3 - ${{ env.AWS_DEFAULT_REGION }}/${{ env.AWS_BUCKET }}"
68+
echo "R2 - ${{ env.R2_DEFAULT_REGION }}/${{ env.R2_BUCKET }}"
7169
echo "Update lane - beta"
7270
7371
- name: Github checkout
@@ -88,5 +86,5 @@ jobs:
8886
DEV_USE_BETA_LANE: "t"
8987
DEV_SKIP_SIGN: "t"
9088
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
92-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
89+
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
90+
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY}}

forge.config.ts

+14-44
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import dotenv from "dotenv";
22
import path from "path";
33

44
import { MakerDMG } from "@electron-forge/maker-dmg";
5-
import { DMGContents } from "@electron-forge/maker-dmg/dist/Config";
65
import { MakerSquirrel } from "@electron-forge/maker-squirrel";
76
import { MakerZIP } from "@electron-forge/maker-zip";
87
import { VitePlugin } from "@electron-forge/plugin-vite";
@@ -24,12 +23,6 @@ const APPLE_API_KEY_ID = process.env["APPLE_API_KEY_ID"] ?? "";
2423
const APPLE_API_ISSUER = process.env["APPLE_API_ISSUER"] ?? "";
2524
const FEED_BASE_URL = process.env["FEED_BASE_URL"] ?? "";
2625

27-
// aws : r2로 변경할 예정이라 추후 삭제해야함.
28-
const AWS_ACCESS_KEY_ID = process.env["AWS_ACCESS_KEY_ID"] ?? "";
29-
const AWS_SECRET_ACCESS_KEY = process.env["AWS_SECRET_ACCESS_KEY"] ?? "";
30-
const AWS_DEFAULT_REGION = process.env["AWS_DEFAULT_REGION"] ?? "";
31-
const AWS_BUCKET = process.env["AWS_BUCKET"] ?? "boxhero-autoupdate";
32-
3326
// r2
3427
const R2_ACCESS_KEY_ID = process.env["R2_ACCESS_KEY_ID"] ?? "";
3528
const R2_SECRET_ACCESS_KEY = process.env["R2_SECRET_ACCESS_KEY"] ?? "";
@@ -95,33 +88,20 @@ const config: ForgeConfig = {
9588
position: { x: 200, y: 120 },
9689
},
9790
},
98-
/**
99-
* NOTE: electron forge의 maker-dmg의 Config 타입선언에 문제가 있음.
100-
* 1. DMGContents에 name prop을 필수로 지정하게 강제함.
101-
* 지정할 경우 앱 아이콘 등이 정상적으로 표시되지 않는다.
102-
* maker-dmg가 의존하고 있는 electron-installer-dmg, appdmg 패키지는 정작 name이 optional이고 예시에서도 사용안함.
103-
* 2. contents에 factory 함수를 지정할 때 Parameter 타입선언이 실제 데이터와 맞지 않음.
104-
* Parameter로 opts를 넘겨주는데,
105-
* 실제로 들어오는 데이터는 electron-installer-dmg에서 기본 옵션 외에 build context에 관련된 정보들이 추가된 데이터임.
106-
* (e.g. opts.appPath, opts.dmgPath, etc..)
107-
* 이를 통해 사용자가 contents를 context에 맞는 정보들로 정확한 설정을 구성할 수 있음에도 타입 선언에 반영이 되어있지 않음.
108-
* TODO: 이후 electron-installer-dmg가 수정되면 타입 단언들을 제거할 것.
109-
*/
110-
contents: (opts) =>
111-
[
112-
{
113-
type: "file",
114-
path: (opts as { appPath: string }).appPath,
115-
x: 164,
116-
y: 200,
117-
},
118-
{
119-
type: "link",
120-
path: "/Applications",
121-
x: 409,
122-
y: 200,
123-
},
124-
] as unknown as DMGContents[],
91+
contents: (opts) => [
92+
{
93+
type: "file",
94+
path: (opts as { appPath: string }).appPath,
95+
x: 164,
96+
y: 200,
97+
},
98+
{
99+
type: "link",
100+
path: "/Applications",
101+
x: 409,
102+
y: 200,
103+
},
104+
],
125105
}),
126106
],
127107
publishers: [
@@ -131,16 +111,6 @@ const config: ForgeConfig = {
131111
prerelease: true,
132112
draft: true,
133113
}),
134-
new PublisherS3({
135-
bucket: AWS_BUCKET,
136-
region: AWS_DEFAULT_REGION,
137-
accessKeyId: AWS_ACCESS_KEY_ID,
138-
secretAccessKey: AWS_SECRET_ACCESS_KEY,
139-
keyResolver(fileName) {
140-
return `${prefix}/${fileName}`;
141-
},
142-
public: true,
143-
}),
144114
new PublisherS3({
145115
bucket: R2_BUCKET,
146116
region: R2_DEFAULT_REGION,

0 commit comments

Comments
 (0)