Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Migrate to Github Actions #141

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 180 additions & 9 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,188 @@
name: CI

on: [push]
on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
build:
style:
name: Check Style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
submodules: true
- name: Install Rust
run: rustup update nightly && rustup default nightly
- run: ci/style.sh

docs:
name: Build Documentation
needs: [style]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
submodules: true
- name: Install Rust
run: rustup update nightly && rustup default nightly
- run: ci/dox.sh
env:
CI: 1
- name: Publish documentation
run: |
cd target/doc
git init
git add .
git -c user.name='ci' -c user.email='ci' commit -m init
git push -f -q https://git:${{ secrets.github_token }}@github.com/${{ github.repository }} HEAD:gh-pages
if: github.event_name == 'push' && github.event.ref == 'refs/heads/master'

benches:
name: Build benchmarks
needs: [style]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
submodules: true
- name: Install Rust
run: rustup update nightly && rustup default nightly
- name: Benchmarks
run: |
cargo test --bench roundtrip
cargo test --features=alloc_trait --bench roundtrip

test:
needs: [style]
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
target:
- aarch64-unknown-linux-gnu
- x86_64-apple-darwin
- x86_64-unknown-linux-gnu
include:
# - target: aarch64-linux-android
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
no_jemalloc_tests: 1
# - target: arm-linux-androideabi
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
# - target: arm-unknown-linux-gnueabi
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
# - target: armv7-unknown-linux-gnueabihf
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
# - target: i586-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
# - target: i686-pc-windows-gnu
# os: windows-latest
# rust: nightly
# - target: i686-pc-windows-msvc
# os: windows-latest
# rust: nightly
# - target: i686-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
# - target: mips-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
# - target: mips64-unknown-linux-gnuabi64
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
# - target: mips64el-unknown-linux-gnuabi64
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
# - target: mipsel-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
# - target: s390x-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
# no_jemalloc_tests: 1
- target: x86_64-apple-darwin
os: macos-latest
rust: nightly
# - target: x86_64-apple-darwin
# os: macos-latest
# rust: beta
# - target: x86_64-apple-darwin
# os: macos-latest
# rust: stable
# - target: x86_64-linux-android
# os: ubuntu-latest
# rust: nightly
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
# - target: x86_64-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
# valgrind: 1
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
jemalloc-dev: 1
valgrind: 1
# - target: x86_64-unknown-linux-gnu
# os: ubuntu-latest
# rust: beta
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
rust: stable

steps:
- uses: actions/checkout@v1
- name: Run a one-line script
run: echo Hello, world!
- name: Run a multi-line script
- uses: actions/checkout@master
with:
submodules: true
- name: Install Rust (rustup)
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
if: matrix.os != 'macos-latest'
- name: Install Rust (macos)
run: |
echo Add other actions to build,
echo test, and deploy your project.
curl https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly
echo "##[add-path]$HOME/.cargo/bin"
if: matrix.os == 'macos-latest'
- run: rustup target add ${{ matrix.target }}
- run: cargo generate-lockfile

# Configure some env vars based on matrix configuration
- run: echo "##[set-env name=NO_JEMALLOC_TESTS]1"
if: matrix.no_jemalloc_tests != ''
- run: echo "##[set-env name=JEMALLOC_SYS_GIT_DEV_BRANCH]1"
if: matrix.jemalloc-dev != ''
- run: echo "##[set-env name=VALGRIND]1"
if: matrix.valgrind != ''

# Windows & OSX go straight to `run.sh` ...
- run: ./ci/run.sh
shell: bash
if: matrix.os != 'ubuntu-latest'
env:
TARGET: ${{ matrix.target }}

# ... while Linux goes to `run-docker.sh`
- run: ./ci/run-docker.sh ${{ matrix.target }}
shell: bash
if: "matrix.os == 'ubuntu-latest'"
env:
TARGET: ${{ matrix.target }}
164 changes: 0 additions & 164 deletions .travis.yml

This file was deleted.

5 changes: 1 addition & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ A Rust allocator backed by jemalloc
edition = "2015"

[badges]
appveyor = { repository = "gnzlbg/jemallocator" }
travis-ci = { repository = "gnzlbg/jemallocator" }
codecov = { repository = "gnzlbg/jemallocator" }
is-it-maintained-issue-resolution = { repository = "gnzlbg/jemallocator" }
is-it-maintained-open-issues = { repository = "gnzlbg/jemallocator" }
maintenance = { status = "actively-developed" }
Expand All @@ -37,7 +34,7 @@ members = ["systest", "jemallocator-global", "jemalloc-ctl", "jemalloc-sys" ]

[dependencies]
jemalloc-sys = { path = "jemalloc-sys", version = "0.3.2", default-features = false }
libc = { version = "^0.2.8", default-features = false }
libc = { version = "^0.2.65", default-features = false }

[dev-dependencies]
paste = "0.1"
Expand Down
1 change: 0 additions & 1 deletion benches/roundtrip.rs
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,6 @@ mod pow2 {
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072,
4194304
]);

}

mod even {
Expand Down
7 changes: 7 additions & 0 deletions ci/docker/aarch64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM ubuntu:19.04
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates \
gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu" \
PATH=$PATH:/rust/bin
Loading