name: Example builds (nightly) concurrency: # Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches # Cancel intermediate builds: only pull request builds group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }} cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} on: push: branches: ['main', 'master', 'releases/*'] pull_request: schedule: - cron: '37 17 * * *' jobs: test: runs-on: ${{ matrix.os }} timeout-minutes: 60 strategy: fail-fast: false matrix: julia-version: [nightly, 1.13-nightly] julia-arch: [x64, x86] os: [ubuntu-latest, macOS-latest, windows-latest] # 32-bit Julia binaries are not available on macOS exclude: - os: macOS-latest julia-arch: x86 steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v6 if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }} with: node-version-file: '.tool-versions' - name: "Install dependencies" if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }} run: | npm install npm run build npm run pack - name: "Set up Julia (${{ matrix.julia-version }})" uses: ./ with: version: ${{ matrix.julia-version }} arch: ${{ matrix.julia-arch }} - run: julia --version - run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()' - name: "Check that the correct julia is used and that archive mtimes are maintained" run: julia --startup-file=no --color=yes ./.github/scripts/common-tests.jl