Use a pidfile to guard againstn runtime corruption. #1250
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: | |
push: | |
branches: | |
- master | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
release_test: | |
name: Julia ${{ matrix.version }} ${{ matrix.llvm_args }} - ${{ matrix.os }} - ${{ matrix.arch }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ['1.8', '1.9', '1.10', '^1.11.0-alpha2'] # 'nightly' | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
arch: [x64] | |
llvm_args: [''] | |
include: | |
# starting with Julia 1.10, we can enable opaque pointers | |
- version: '1.10' | |
os: 'ubuntu-latest' | |
arch: 'x64' | |
llvm_args: '--opaque-pointers' | |
- version: '1.10' | |
os: 'macOS-latest' | |
arch: 'x64' | |
llvm_args: '--opaque-pointers' | |
- version: '1.10' | |
os: 'windows-latest' | |
arch: 'x64' | |
llvm_args: '--opaque-pointers' | |
- version: '^1.11.0-alpha2' | |
os: 'ubuntu-latest' | |
arch: 'x64' | |
llvm_args: '--opaque-pointers' | |
- version: '^1.11.0-alpha2' | |
os: 'macOS-latest' | |
arch: 'x64' | |
llvm_args: '--opaque-pointers' | |
- version: '^1.11.0-alpha2' | |
os: 'windows-latest' | |
arch: 'x64' | |
llvm_args: '--opaque-pointers' | |
#- version: 'nightly' | |
# os: 'ubuntu-latest' | |
# arch: 'x64' | |
# llvm_args: '--opaque-pointers' | |
#- version: 'nightly' | |
# os: 'macOS-latest' | |
# arch: 'x64' | |
# llvm_args: '--opaque-pointers' | |
#- version: 'nightly' | |
# os: 'windows-latest' | |
# arch: 'x64' | |
# llvm_args: '--opaque-pointers' | |
steps: | |
- uses: actions/checkout@v4 | |
# install Julia | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
# set-up packages | |
- uses: actions/cache@v4 | |
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 | |
- name: Run tests | |
uses: julia-actions/julia-runtest@v1 | |
env: | |
JULIA_LLVM_ARGS: ${{ matrix.llvm_args }} | |
# post-process | |
- uses: julia-actions/julia-processcoverage@v1 | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: false | |
file: lcov.info | |
# fetching builds from Buildkite | |
buildkite_test: | |
name: Julia ${{ matrix.version }} ${{ matrix.build }} ${{ matrix.llvm_args }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
arch: [x64] | |
llvm_args: ['', '--opaque-pointers'] | |
include: | |
- version: '1.11' | |
pipeline: 'julia-release-1-dot-11' | |
build: 'x86_64-linux-gnuassert' | |
branch: 'release-1.11' | |
#- version: 'master' | |
# pipeline: 'julia-master' | |
# build: 'x86_64-linux-gnuassert' | |
# branch: 'master' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download Julia | |
env: | |
BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} | |
run: | | |
./.github/download_build.sh ${{ matrix.pipeline }} ${{ matrix.branch }} build_${{ matrix.build }} julia.tar.gz | |
tar -xf julia.tar.gz -C ../ | |
rm julia.tar.gz | |
echo $PWD/../julia-*/bin >> $GITHUB_PATH | |
# set-up packages | |
- uses: actions/cache@v4 | |
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 | |
- name: Run tests | |
uses: julia-actions/julia-runtest@v1 | |
env: | |
JULIA_LLVM_ARGS: ${{ matrix.llvm_args }} | |
# post-process | |
- uses: julia-actions/julia-processcoverage@v1 | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: false | |
file: lcov.info |