Skip to content

Commit

Permalink
try label arrays
Browse files Browse the repository at this point in the history
  • Loading branch information
benlorenz committed Oct 29, 2024
1 parent e94d5e3 commit 0119c62
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 0 deletions.
112 changes: 112 additions & 0 deletions .github/workflows/oscar-selfhosted.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: OscarCI-selfhosted

on:
pull_request:
branches:
- master
push:
branches:
- master
workflow_dispatch:

concurrency:
# group by workflow and ref; the last slightly strange component ensures that for pull
# requests, we limit to 1 concurrent job, but for the master branch we don't
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.run_number }}
# Cancel intermediate builds, but only if it is a pull request build.
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
generatematrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
env:
PR_NUMBER: ${{github.event.number || '0' }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: "Set up Julia"
uses: julia-actions/setup-julia@v2
with:
version: '1.10'
- name: OscarDevTools - CI
if: github.repository == 'oscar-system/OscarDevTools.jl'
run: |
julia --project=oscar-dev -e "using Pkg;
Pkg.develop(PackageSpec(path=\".\"));
Pkg.instantiate();"
- name: fetch OscarDevTools
if: github.repository != 'oscar-system/OscarDevTools.jl'
run: |
julia --project=oscar-dev -e "using Pkg;
Pkg.add(PackageSpec(name=\"OscarDevTools\",version=\"0.2\"));
Pkg.instantiate();"
- id: set-matrix
run: |
julia --project=oscar-dev -e "using OscarDevTools.OscarCI;
ciprefs = parse_meta(\"OscarCI-selfhosted.toml\");
cimat = ci_matrix(ciprefs;
pr=${PR_NUMBER},
active_repo=\"${GITHUB_REPOSITORY}\");
@show cimat;
println(github_json(cimat));"
test-oscar:
needs: generatematrix
name: ${{ join(matrix.*.name) }} - ${{ matrix.os }}, julia ${{ matrix.julia-version}}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.julia-version == 'nightly' }}
env:
PR_NUMBER: ${{github.event.number}}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
matrix: ${{fromJSON(needs.generatematrix.outputs.matrix)}}
fail-fast: false

steps:
- uses: actions/checkout@v4
- name: "Set up Julia"
uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
- name: re-using OscarDevTools checkout
if: github.repository == 'oscar-system/OscarDevTools.jl'
run: |
julia --project=oscar-dev -e "using Pkg;
Pkg.develop(PackageSpec(path=\".\"));
Pkg.instantiate();"
- name: fetch OscarDevTools
if: github.repository != 'oscar-system/OscarDevTools.jl'
run: |
julia --project=oscar-dev -e "using Pkg;
Pkg.add(PackageSpec(name=\"OscarDevTools\",version=\"0.2\"));
Pkg.instantiate();"
- name: "Set up Oscar-dev configuration"
id: setupdev
env:
MATRIX_CONTEXT: ${{ toJSON(matrix) }}
run: |
echo "$MATRIX_CONTEXT"
julia --project=oscar-dev -e "using OscarDevTools, OscarDevTools.OscarCI;
meta = job_meta_env(\"MATRIX_CONTEXT\");
oscar_develop(job_pkgs(meta);
dir=\"oscar-dev\",
active_repo=\"${GITHUB_REPOSITORY}\");
github_env_runtests(meta;
varname=\"oscar_run_tests\",
filename=\"${GITHUB_ENV}\");
github_env_run_doctests(meta;
varname=\"oscar_run_doctests\",
filename=\"${GITHUB_ENV}\");"
- name: "Run tests"
if: steps.setupdev.outputs.skiptests != 'true'
run: |
echo '${{ env.oscar_run_tests }}'
julia --project=oscar-dev/project/ -e '${{ env.oscar_run_tests }}'
- name: "Run doctests"
if: steps.setupdev.outputs.skiptests != 'true'
run: |
echo '${{ env.oscar_run_doctests }}'
julia --project=oscar-dev/project/ -e '${{ env.oscar_run_doctests }}'
21 changes: 21 additions & 0 deletions test/meta/OscarCI-selfhosted.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
title = "metadata for oscar CI run"

# defaults for os, julia-version, and branches are set in OscarDevTools
# '<matching>' will try to look up a matching branch for the branch of
# the pull request and use master if that cannot be found
[env]
os = [ [ "Linux", "RPTU" ], "ubuntu-latest" ]
julia-version = [ "~1.10.0-0" ]
branches = [ "<matching>" ]

# pkgs without branches specified will use the global branches axis
# and not expand separately
[pkgs]
[pkgs.Oscar]
test = true
testoptions = []

[pkgs.Singular]
branches = []
test = true
testoptions = []

0 comments on commit 0119c62

Please sign in to comment.