Skip to content

CI

CI #1825

Workflow file for this run

name: CI
# Run on master, any tag or any pull request
on:
push:
branches:
- master
- staging
- trying
tags: '*'
schedule:
- cron: '0 2 * * *' # Daily at 2 AM UTC (8 PM CST)
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
permissions:
# Required for interacting with GitHub's OIDC Token endpoint:
# https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services#adding-permissions-settings
id-token: write
contents: read # Required for `actions/checkout
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.version == 'nightly' }}
strategy:
fail-fast: false
matrix:
version:
- "1.6" # Earliest supported version / Invenia version used
- "1" # Latest release
os:
- ubuntu-latest
- macOS-latest
arch:
- x64
exclude:
# Only testing a single version of macOS to make CI faster.
# Note: Ideally this would be the latest version of Julia but lately
# Julia 1.7.1 is generating segmentation faults only on CI.
- version: "1"
os: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Assume AWS role
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/AWSS3.jl
aws-region: us-east-1
- 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@latest
- uses: julia-actions/julia-runtest@latest
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: '1'
- uses: julia-actions/julia-buildpkg@latest
- uses: julia-actions/julia-docdeploy@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}