summaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml79
1 files changed, 79 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 000000000..83dc8be44
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,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