-
Notifications
You must be signed in to change notification settings - Fork 125
89 lines (78 loc) · 2.39 KB
/
web.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
---
name: Deploy NativeLink Web
on:
push:
branches: [main]
paths:
- 'web/platform/**'
- '**/*.md'
- 'nativelink-config/**'
- 'tools/**'
- '**/*.lock'
- '**/*.nix'
pull_request:
branches: [main]
paths:
- 'web/platform/**'
- '**/*.md'
- 'nativelink-config/**'
- 'tools/**'
- '**/*.lock'
- '**/*.nix'
permissions: read-all
jobs:
deploy:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-24.04, macos-14 ]
name: Web Platform Deployment / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: production
permissions:
id-token: write
contents: read
steps:
- name: Checkout
uses: >- # v4.1.1
actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Free disk space
uses: >- # v2.0.0
endersonmenezes/free-disk-space@3f9ec39ebae520864ac93467ee395f5237585c21
with:
remove_android: true
remove_dotnet: true
remove_haskell: true
remove_tool_cache: false
- name: Delete Applications and Simulators to free up disk space
if: contains(matrix.os, 'macos')
run: |
echo "Deleting Applications"
sudo rm -rf ~/Applications/*
echo "Deleting all iOS simulators"
xcrun simctl delete all
echo "Deleting iOS Simulator caches"
sudo rm -rf ~/Library/Developer/CoreSimulator/Caches/*
- name: Install Nix
uses: >- # v10
DeterminateSystems/nix-installer-action@de22e16c4711fca50c816cc9081563429d1cf563
- name: Cache Nix derivations
uses: >- # v4
DeterminateSystems/magic-nix-cache-action@fc6aaceb40b9845a02b91e059ec147e78d1b4e41
- name: Test Build
if: github.event_name == 'pull_request'
working-directory: web/platform
run: |
nix develop --impure --command bash -c "
bun setup && bun docs && bun run build
"
- name: Production deployment
if: matrix.os == 'ubuntu-24.04' && github.ref == 'refs/heads/main'
working-directory: web/platform
env:
DENO_DEPLOY_TOKEN: ${{ secrets.DENO_DEPLOY_TOKEN }}
run: |
nix develop --impure --command bash -c "
bun prod --project=nativelink --org=nativelink \
--token=$DENO_DEPLOY_TOKEN \
"