blob: 1bcf8ff2103ee9a8089ac7e7eeab88d2a9008f22 (
plain)
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
|
name: build
on: [push, pull_request]
jobs:
build:
name: ${{ matrix.kind }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macOS-10.14, windows-2016, ubuntu-16.04]
kind: ['test', 'bench']
exclude:
- os: windows-2016
kind: 'bench'
- os: macOS-10.14
kind: 'bench'
steps:
- name: Configure git
run: git config --global core.symlinks true
- name: Clone repository
uses: actions/checkout@v1
with:
fetch-depth: 1
submodules: true
- name: Install rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: "1.37.0"
- name: Install python
uses: actions/setup-python@v1
with:
python-version: "2.7.16"
architecture: x64
- name: Environment (common)
run: |
echo ::set-env name=GH_ACTIONS::1
echo ::set-env name=RUSTC_WRAPPER::sccache
echo ::set-env name=DENO_BUILD_MODE::release
- name: Environment (linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
echo ::add-path::`pwd`/prebuilt/linux64
- name: Environment (mac)
if: startsWith(matrix.os, 'macOS')
run: |
echo ::add-path::`pwd`/prebuilt/mac
- name: Environment (windows)
if: startsWith(matrix.os, 'windows')
run: |
echo ::add-path::%cd%\prebuilt\win
- name: Log versions
run: |
node -v
python --version
rustc --version
cargo --version
- name: Run setup.py
run: python ./tools/setup.py
- name: Start sccache
env:
AWS_ACCESS_KEY_ID: AKIAIVRN52PLDBP55LBQ
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SCCACHE_BUCKET: deno-sccache
SCCACHE_IDLE_TIMEOUT: 0
run: sccache --start-server
- name: Build
run: cargo build --release --locked --all-targets
- name: Test
if: matrix.kind == 'test'
run: cargo test --release --locked --all-targets
- name: Run Benchmarks
if: matrix.kind == 'bench'
run: python ./tools/benchmark.py target/release
- name: Post Benchmarks
if: matrix.kind == 'bench' && github.ref == 'refs/heads/master'
env:
DENOBOT_PAT: ${{ secrets.DENOBOT_PAT }}
run: |
# Note gh-pages branch is cloned into //gh-pages/ by
# tools/benchmark.py, hence the following copy is ok:
cp -r website/* gh-pages/
cd gh-pages
git remote add origin2 https://${DENOBOT_PAT}@github.com/denoland/deno.git
git config user.email "propelml@gmail.com"
git config user.name "denobot"
git add .
git commit --message "Update benchmarks"
git push origin2 gh-pages
- name: Worker info
if: matrix.kind == 'bench'
run: |
cat /proc/cpuinfo
cat /proc/meminfo
- name: Stop sccache
run: sccache --stop-server
|