summaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
blob: 83dc8be443d5fd15b75e055eb6ce244dededd4bb (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
name: Build and test

on: [push]

jobs:
  build:
    name: Build and test for ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-2016, macOS-latest]
    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 -vv --release --locked --all-targets

      - name: Test
        run: python ./tools/test.py

      - name: Stop sccache
        run: sccache --stop-server