Skip to content

Commit 8d805de

Browse files
committed
fixes
1 parent 04b4200 commit 8d805de

2 files changed

Lines changed: 149 additions & 0 deletions

File tree

.erb/scripts/upload-to-s3.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from botasaurus import bt
2+
from botasaurus.env import get_os
3+
from botasaurus.task import task
4+
import os
5+
6+
bucket_name = "awesome-app-distribution"
7+
8+
@task(output=None, raise_exception=True, close_on_crash=True, parallel=4)
9+
def upload(data):
10+
upload_file_name = bt.trim_and_collapse_spaces(os.path.basename(data)).replace(' ','')
11+
12+
uploaded_file_url = bt.upload_to_s3(
13+
data,
14+
bucket_name,
15+
os.environ['AWS_ACCESS_KEY_ID'],
16+
os.environ['AWS_SECRET_ACCESS_KEY'],
17+
upload_file_name,
18+
)
19+
20+
print(f"Visit {uploaded_file_url} to download the uploaded file.") # URL to share with users
21+
22+
app_name = bt.read_json('./package.json')['build']['productName']
23+
operating_system = get_os()
24+
25+
if operating_system == "mac":
26+
upload(f"./release/build/{app_name}.dmg")
27+
elif operating_system == "windows":
28+
upload(f"./release/build/{app_name}.exe")
29+
elif operating_system == "linux":
30+
upload(
31+
[
32+
f"./release/build/{app_name}-amd64.deb",
33+
f"./release/build/{app_name}-arm64.deb",
34+
f"./release/build/{app_name}-x86_64.rpm",
35+
f"./release/build/{app_name}-aarch64.rpm",
36+
]
37+
)

.github/workflows/package.yaml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: Package
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
package-mac:
7+
# Notarization is taking too long, exit
8+
timeout-minutes: 30
9+
runs-on: macos-latest
10+
steps:
11+
- name: Check out Git repository
12+
uses: actions/checkout@v3
13+
14+
- name: Install Node.js and NPM
15+
uses: actions/setup-node@v3
16+
with:
17+
node-version: 20
18+
cache: npm
19+
20+
- name: Recreate certificate.p12 from Base64
21+
run: echo "${{ secrets.CSC_BASE64_ENCODED }}" | base64 -d > certificate.p12
22+
23+
- name: npm install
24+
run: |
25+
npm install
26+
27+
- name: Package
28+
env:
29+
APPLE_ID: ${{ secrets.APPLE_ID }}
30+
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
31+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
32+
CSC_LINK: ./certificate.p12
33+
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
34+
run: |
35+
npm run package
36+
37+
- name: Install packages needed for S3 upload
38+
run: |
39+
python -m pip install botasaurus boto3
40+
41+
- name: Upload to S3
42+
env:
43+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
44+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
45+
run: |
46+
python .erb/scripts/upload-to-s3.py
47+
48+
package-windows:
49+
timeout-minutes: 30
50+
runs-on: windows-latest
51+
52+
steps:
53+
- name: Check out Git repository
54+
uses: actions/checkout@v3
55+
56+
- name: Install Node.js and NPM
57+
uses: actions/setup-node@v3
58+
with:
59+
node-version: 20
60+
cache: npm
61+
62+
- name: npm install
63+
run: |
64+
npm install
65+
66+
- name: Package
67+
run: |
68+
npm run package
69+
70+
- name: Install botasaurus package
71+
run: |
72+
python -m pip install botasaurus boto3
73+
74+
- name: Upload to S3
75+
env:
76+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
77+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
78+
run: |
79+
python .erb/scripts/upload-to-s3.py
80+
81+
package-linux:
82+
timeout-minutes: 30
83+
runs-on: ubuntu-latest
84+
85+
steps:
86+
- name: Check out Git repository
87+
uses: actions/checkout@v3
88+
89+
- name: Install Node.js and NPM
90+
uses: actions/setup-node@v3
91+
with:
92+
node-version: 20
93+
cache: npm
94+
95+
- name: npm install
96+
run: |
97+
npm install
98+
99+
- name: Package
100+
run: |
101+
npm run package
102+
103+
- name: Install packages needed for S3 upload
104+
run: |
105+
python -m pip install botasaurus boto3
106+
107+
- name: Upload to S3
108+
env:
109+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
110+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
111+
run: |
112+
python .erb/scripts/upload-to-s3.py

0 commit comments

Comments
 (0)