CI #1916
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
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
tags: '*' | |
schedule: | |
- cron: '0 2 * * *' # Daily at 2 a.m. UTC | |
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 }} | |
timeout-minutes: 30 | |
continue-on-error: ${{ matrix.version == 'nightly' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- "1" # Latest release | |
os: | |
- ubuntu-latest | |
- macOS-latest | |
arch: | |
- x64 | |
include: | |
# Add a job using the earliest version of Julia supported by this package | |
- os: ubuntu-latest | |
version: "1.6" | |
arch: x64 | |
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/AWS.jl | |
aws-region: us-east-1 | |
- name: MinIO server setup | |
if: runner.os != 'Windows' | |
env: | |
MINIO_ACCESS_KEY: minio | |
MINIO_SECRET_KEY: minio123 | |
MINIO_REGION_NAME: aregion | |
shell: bash | |
run: | | |
case "$RUNNER_OS" in | |
Linux) | |
host_os="linux-amd64" | |
;; | |
macOS) | |
host_os="darwin-amd64" | |
;; | |
*) | |
echo "$RUNNER_OS not supported" >&2 | |
exit 1 | |
;; | |
esac | |
curl -sSLO "https://dl.minio.io/server/minio/release/${host_os}/minio" | |
mkdir data | |
chmod +x ./minio | |
./minio server --compat --quiet data 2>&1 > minio.log & | |
env | grep ^MINIO_ | tee -a "$GITHUB_ENV" | |
- 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 | |
- run: | | |
git config --global user.name Tester | |
git config --global user.email [email protected] | |
- 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' | |
- run: | | |
julia --project=docs -e ' | |
using Pkg | |
Pkg.develop(PackageSpec(path=pwd())) | |
Pkg.instantiate() | |
include("docs/make.jl")' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} |