Skip to content

[Metal] Add some simdgroup and barrier intrinsic attributes #297

[Metal] Add some simdgroup and barrier intrinsic attributes

[Metal] Add some simdgroup and barrier intrinsic attributes #297

Workflow file for this run

name: Test
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 }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
version: ['1.10', '1.11', '1.12', 'nightly']
os: [ubuntu-24.04, ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2025]
arch: [x64, arm64]
llvm_args: ['']
exclude:
# unsupported combinations
- os: ubuntu-24.04
arch: arm64
- os: windows-2025
arch: arm64
- os: ubuntu-24.04-arm
arch: x64
- os: macOS-15
arch: x64
- os: macOS-15-intel
arch: arm64
include:
# starting with Julia 1.10, we can enable opaque pointers
# from Julia 1.12 on, this is the default.
- version: '1.10'
os: 'ubuntu-24.04'
arch: 'x64'
llvm_args: '--opaque-pointers'
- version: '1.10'
os: 'ubuntu-24.04-arm'
arch: 'arm64'
llvm_args: '--opaque-pointers'
- version: '1.10'
os: 'macOS-15'
arch: 'arm64'
llvm_args: '--opaque-pointers'
- version: '1.10'
os: 'macOS-15-intel'
arch: 'x64'
llvm_args: '--opaque-pointers'
- version: '1.10'
os: 'windows-2025'
arch: 'x64'
llvm_args: '--opaque-pointers'
- version: '1.11'
os: 'ubuntu-24.04'
arch: 'x64'
llvm_args: '--opaque-pointers'
- version: '1.11'
os: 'ubuntu-24.04-arm'
arch: 'arm64'
llvm_args: '--opaque-pointers'
- version: '1.11'
os: 'macOS-15'
arch: 'arm64'
llvm_args: '--opaque-pointers'
- version: '1.11'
os: 'macOS-15-intel'
arch: 'x64'
llvm_args: '--opaque-pointers'
- version: '1.11'
os: 'windows-2025'
arch: 'x64'
llvm_args: '--opaque-pointers'
steps:
- uses: actions/checkout@v6
- name: Install Julia
uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- name: Set-up cache
uses: julia-actions/cache@v2
- name: Run tests
uses: julia-actions/julia-runtest@v1
env:
JULIA_LLVM_ARGS: ${{ matrix.llvm_args }}
- name: Process coverage
uses: julia-actions/julia-processcoverage@v1
- name: Submit coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: lcov.info
# fetching builds from Buildkite
buildkite_test:
name: Julia ${{ matrix.version }} ${{ matrix.build }} ${{ matrix.llvm_args }}
runs-on: ${{ matrix.os }}
# This job requires accessing a secret, which isn't available in PRs from
# forks. Skip this job entirely if it's a pull request from a fork.
if: ${{ github.event_name != 'pull_request' || ! github.event.pull_request.head.repo.fork }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04]
arch: [x64]
llvm_args: ['']
include:
- version: '1.12'
pipeline: 'julia-release-1-dot-12'
build: 'x86_64-linux-gnuassert'
branch: 'release-1.12'
#- version: 'master'
# pipeline: 'julia-master'
# build: 'x86_64-linux-gnuassert'
# branch: 'master'
steps:
- uses: actions/checkout@v6
- 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
- name: Set-up cache
uses: julia-actions/cache@v2
- name: Run tests
uses: julia-actions/julia-runtest@v1
env:
JULIA_LLVM_ARGS: ${{ matrix.llvm_args }}
- name: Process coverage
uses: julia-actions/julia-processcoverage@v1
- name: Submit coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: lcov.info