diff options
| author | Ryan Dahl <ry@tinyclouds.org> | 2019-09-18 17:23:27 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-18 17:23:27 -0400 |
| commit | 4a807f42252c79139b36a8a5d7f721474f795b4d (patch) | |
| tree | b3d749fb14e622aac729e2b059241bf559c38f51 /.github/workflows | |
| parent | 4d3df6f73b7083c03aca174ee99216a2b0444424 (diff) | |
First pass at github actions (#2966)
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/build.yml | 79 | ||||
| -rw-r--r-- | .github/workflows/lint.yml | 51 |
2 files changed, 130 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 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..0c885cd1c --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,51 @@ +name: lint + +on: [push] + +jobs: + clippy: + name: lint + runs-on: ubuntu-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 clippy and rustfmt + run: | + rustup component add clippy + rustup component add rustfmt + + - name: Environment (common) + run: | + echo ::set-env name=RUSTC_WRAPPER::sccache + echo ::set-env name=DENO_BUILD_MODE::release + echo ::add-path::`pwd`/prebuilt/linux64 + + - 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: lint.py + run: python ./tools/lint.py + + - name: test_format.py + run: python ./tools/test_format.py + + - name: Clippy + run: cargo clippy --all-targets --release --locked -- -D clippy::all + + - name: Stop sccache + run: sccache --stop-server |
