Rel 0.1.0 - Workflow tests #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# from https://discourse.julialang.org/t/easy-workflow-file-for-setting-up-github-actions-ci-for-your-julia-package/49765 | |
env: | |
CMDSTAN: "/home/worker/cmdstan-2.33.1/" | |
name: CI | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
tags: '*' | |
jobs: | |
test: | |
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- '1.9' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.9 or higher, change this to '1.9'. | |
- '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. | |
# NOTE: CI on nightly is not enabled by default, uncomment if you need it. Cf the discussion at | |
# https://discourse.julialang.org/t/why-do-packages-run-continuous-integration-tests-on-julia-nightly/101208/3 | |
# - 'nightly' | |
os: | |
- ubuntu-latest | |
arch: | |
- x64 | |
steps: | |
- name: Install extra dependency on main branch | |
shell: julia --project=. {0} | |
run: | | |
println(pwd()) | |
println(ENV["CMDSTAN"]) | |
println(ENV["HOME"]) | |
- run: | | |
OLDWD=`pwd` | |
cd ~ | |
pwd | |
wget https://github.com/stan-dev/cmdstan/releases/download/v2.33.1/cmdstan-2.33.1.tar.gz | |
tar -xzpf cmdstan-2.33.1.tar.gz | |
ls -lia . | |
ls -lia ./cmdstan-2.33.1 | |
ls -lia ./cmdstan-2.33.1/make | |
touch ./cmdstan-2.33.1/make/local | |
echo "STAN_THREADS=true" > ./cmdstan-2.33.1/make/local | |
cat ./cmdstan-2.33.1/make/local | |
make -C $CMDSTAN build | |
cd $OLDWD | |
env: | |
CMDSTAN: "/home/runner/cmdstan-2.33.1/" | |
- uses: actions/checkout@v2 | |
- uses: julia-actions/setup-julia@v1 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: actions/cache@v1 | |
env: | |
cache-name: cache-artifacts | |
with: | |
path: ~/.julia/artifacts | |
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} | |
restore-keys: | | |
${{ runner.os }}-test-${{ env.cache-name }}- | |
${{ runner.os }}-test- | |
${{ runner.os }}- | |
- uses: julia-actions/julia-buildpkg@v1 | |
- uses: julia-actions/julia-runtest@v1 | |
env: | |
CMDSTAN: "/home/runner/cmdstan-2.33.1/" | |
- uses: julia-actions/julia-processcoverage@v1 | |
- uses: codecov/codecov-action@v1 | |
with: | |
file: lcov.info | |
## NOTE: uncomment below to generate and deploy docs, also add the relevant deploy key as described | |
## in https://juliadocs.github.io/Documenter.jl/dev/man/hosting/#Authentication:-SSH-Deploy-Keys | |
# docs: | |
# name: Documentation | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: julia-actions/setup-julia@v1 | |
# with: | |
# version: '1' | |
# - run: | | |
# julia --project=docs -e ' | |
# using Pkg | |
# Pkg.develop(PackageSpec(path=pwd())) | |
# Pkg.instantiate()' | |
# - run: | | |
# julia --project=docs -e ' | |
# using Documenter: doctest | |
# using StanIO | |
# DocMeta.setdocmeta!(StanIO, :DocTestSetup, :(using StanIO); recursive=true) | |
# doctest(StanIO)' | |
# - run: julia --project=docs docs/make.jl | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} |